"Core Data with iCloud"与"iCloud Core Data"的区别

3
我的问题是:如何在不找到太多“iCloud Core Data”的情况下查找有关“Core Data with iCloud”的更多信息?
这两个名称非常相似,这使得很难只查找一个而不找到另一个。
当我说“iCloud Core Data”时,我指的是最近在iOS10中弃用的功能。 “iCloud Core Data”涉及具有普遍性选项的核心数据存储,这意味着使用iCloud在各种设备上同步单个记录更新。
当我说“Core Data with iCloud”时,我指的是一种不同的功能,它建立在iCloud Drive服务上,我认为它基于从设备到设备同步整个核心数据存储。显然,“Cord Data with iCloud”正在继续。
苹果区分了两者:只有客户端Core Data iCloud API符号已被弃用。 Core Data with iCloud是建立在iCloud Drive服务之上的。
有人能帮忙指出一些有关新的“Core Data with iCloud”的文档吗?

2
我猜Core Data with iCloud指的是CloudKit - vadian
@vadian:我仍在学习CloudKit,但到目前为止,我的印象是它与“带iCloud的Core Data”和“iCloud Core Data”都非常不同。我认为这是因为CloudKit使用完全不同于Core Data的API,并且我看到了一个例子,其中可以在完全没有Core Data使用的情况下使用CloudKit。 - user33675
1
只有两种模式:iCloud Core Data(已弃用)和CloudKit - vadian
@vadian:是的,你说得对。如果涉及到苹果的云服务,那么在对象级别上设计对象持久化只有两种模式(就像你提到的那两种)。然而,我问这个问题是因为似乎还有第三种选择,如果你只想要整个Core Data数据存储区的备份和复制,那就是前面提到的“带iCloud的Core Data”。我正在寻找相关文档。 - user33675
2个回答

1

我认为这就是你要找的将iCloud与CoreData结合使用

基本上,你的应用程序中有一个CoreData存储库,启用iCloud可以使其在设备之间同步,而无需你的应用程序直接与CloudKit通信。

我认为“iCloud Core Data”是指使用CloudKit作为数据存储库,这并不可怕,但不像简单地使用CoreData那样容易。


谢谢您提供的链接,非常有用,似乎确实是指新功能。我认为CloudKit不是“iCloud Core Data”,也不是“带iCloud的Core Data”,而是第三种东西。CloudKit似乎使用完全不同的API,并且有一些示例项目根本不使用Core Data。 - user33675

0

目前没有一种系统可以通过iCloud在设备之间同步整个Core Data持久存储文件。他们将现已弃用的iCloud支持集成到Core Data中的原因是,同步文档文件不起作用。这样做或多或少保证会丢失数据、损坏文件或两者兼而有之。

有时使用CloudKit被称为使用iCloud,这是不幸的,因为它混淆了两个不同的东西。

如果您想在不使用CloudKit的情况下在设备之间同步Core Data,请查看Ensembles。它在概念上与旧的iCloud支持相同,但具有不同的实现方式,似乎可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接