我正在从Swift 1.2重新创建我的应用程序到Swift 2,在前者中我使用了共享组等。
我现在正在尝试使用新的WatchConnectivity并且遇到了一个主要的砖墙.. !!
在手机上,我让应用程序正在下载json并在我的数据存储中填充NSManagedObjects,一切都运行良好......在手机上。
我愚蠢但我可以使用session.updateApplicationContext(字典)方法.....但现在已经找到了
那么,请问iOS9和Swift 2中首选的方式是如何将CoderData数据从手机传输到手表?
注意手表无需修改,更新等数据,因为这一切都发生在手机上。手表只是显示它。
提前致谢....
答案 0 :(得分:1)
NSBinaryStoreType
类型创建新的临时商店,并克隆NSManagedObject
以转移到新商店。[WCSession transferFile:metadata:]
临时文件,或使用[WCSession updateApplicationContext:]
或[NSData dataWithContentsOfFile:]
的其他转移方式。使用NSBinaryStoreType
的主要原因是它将在支持的类型中占用最小的文件大小。
第二个原因是NSSQLiteStoreType
默认需要额外的shm
和wal
个文件。它使核心数据快速,但它需要棘手的处理并需要更多的文件大小。
PS。如果您决定使用[WCSession transferFile:metadata:]
该怎么办?您必须在完成转移后删除临时文件。