Yan*_*Yan 105 core-data ios icloud cloudkit
我正处于创建应用程序的早期阶段,我希望保存,同步和备份数据.该应用程序不会将任何文件仅存储在数据库中.它将是iOS 8及以上,因此我可以使用CloudKit.我做了一些研究,但仍不清楚Core Data,iCloud和CloudKit如何协同工作.
据了解,CloudKit只是一种从云端获取和检索数据的方法.CloudKit是一种与iCloud同步数据的不同方式吗?
我的问题是:
如果我确实使用CloudKit,我还需要创建本地核心数据库吗?
如果数据仅存储在云中,则当iOS设备未连接到互联网时,用户可以访问该数据.我读到CloudKit只有有限的缓存.
如果有人能够在离线和在线保存和同步核心数据数据库的过程中分解每种技术的作用.
我目前的理解是:
核心数据用于在本地存储数据
iCloud将数据和存储同步到云中
CloudKit能够在云中存储和管理数据吗?
我希望我提供了足够的信息来解决这个问题.
Tom*_*ton 179
就像这样:
如果您想将CloudKit与Core Data一起使用,则必须编写自己的自定义代码以在托管对象和CloudKit记录之间进行转换.这不是不可能的,但是编写的代码更多.它可能更可靠,但现在说太肯定了.
我从一个过去使用过Core Data和iCloud的人的角度写了一篇描述CloudKit 的博客文章.
更新,2016年6月:截至最新文档NSPersistentStoreCoordinator
,与iCloud核心数据相关的所有内容均标记为已弃用.因此,应该避免新的开发.
Pom*_*ule 22
在 iOS 13 中,Apple 宣布了 Core Data 中的新功能,以更好地与 CloudKit 配合使用。主要添加的是NSPersistentCloudKitContainer,它基本上为您管理 Core Data 和 CloudKit 之间的同步。
您可以在 WWDC 会议将 Core Data 与 CloudKit 结合使用来了解更多信息。
Apple 还针对这种用法发布了一系列不错的文档:使用 CloudKit 镜像核心数据存储。