繁体   English   中英

使用iCloud将iPhone和iPad的Coredata iPhone转换为iPad / Mac?

[英]Coredata iPhone to iPad/Mac with iCloud?

我们已完成编写使用coredata的iPhone应用程序。 在其他版本中,我们计划添加一个iPad App,该App能够显示由iPhone App收集的数据(并进行修改,使用它),以便为用户提供更多的交互可能性。

我的问题是:是否可以将(iPhone上已安装的应用程序的)现有核心数据移动到云中,并使用iPad应用程序读取该数据?

如果是:您能指出我正确的起点吗?

如果不是:是否还有另一种方法可以通过iPad应用程序访问通过iPhone应用程序创建的核心数据?

使用Core Data的内置iCloud支持时,无论您使用哪种设备,都只需要以相同的方式初始化Core Data堆栈即可。 任何iOS设备或Mac都可以使用相同的iCloud存储,而在一个设备上创建的数据可以在另一个设备上读取。

但是,一个关键的细节是:如果您已经有一个数据存储,并且添加了iCloud支持,则这些预先存在的记录不会自动迁移到云中。 iCloud基于事务日志工作,并且仅在保存更改时创建事务日志。 不会立即更改的现有数据不会产生任何事务,因此不会转到云中。

如果在添加iCloud时已有数据,则需要将数据迁移到新的数据存储以强制进行这些现有记录的事务。 您可以使用NSPersistentStoreCoordinatormigratePersistentStore:toURL:options:withType:error:方法轻松地做到这一点。 这并不难,但并非总是很明显有必要。

首先,我首先建议在iCloud上观看Apple的WWDC视频,尤其是WWDC 2012的第227节“ 将iCloud与核心数据结合使用” 接下来,我建议特别谨慎,因为到目前为止,Core Data对iCloud的支持仍然远远不是苹果API中最可靠的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM