我正在通过应用程序上下文将数据从 iOS 应用程序传输到其 Watch 扩展。我想发送我创建的自定义对象(名为WeatherReport)。
let context = ["report" : WeatherReport]
WCSession.defaultSession().updateApplicationContext(context)
但是,我收到以下错误:
Value of type WeatherReport does not conform toe expected dictionary value type 'AnyObject'
我想知道为什么我无法将自定义对象设置为我尝试作为 applicationContext 传递的字典中的值。
最佳答案
即使您能够克服编译器错误,您也会遇到运行时错误。 WCSession 字典只能包含 property list types ,这些只是基本类型,如字符串、数字、数据等。
如果您确实想发送自定义对象,则必须先将其序列化。更好的解决方案可能是将您的对象转换为 plist 字典(每个属性成为字典中的键值)。
关于swift - 类型 'CustomObject' 的值不符合预期的字典值类型 'AnyObject',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37230251/