CoreData iCloud更改未保存

时间:2016-10-09 16:20:24

标签: ios swift core-data icloud

我正在使用CoreData和iCloud集成制作应用程序。我通过Apple Documentation来调整我已经运行的应用程序以集成iCloud同步。

插入对象和删除似乎工作正常。当我删除应用程序并在手机上重新安装时,所有同步数据都会正确恢复。

我的问题是当我修改NSManagedObject时。当我修改字段时,我用来查询CoreData来获取我的对象的上下文没有检测到我的对象的任何更改。因此,不保存上下文。如果我尝试强制保存上下文,即使未检测到任何更改,也不会保存任何内容。

我经历了堆栈溢出,发现上下文必须将stalenessInterval设置为0.0。这对我的应用程序没有任何作用你对可能出错的东西有什么想法吗?

我注意到NSManagedObject携带的上下文看起来与我用于获取数据的上下文不同。如果我在这个上下文中调用save方法,也没有发生任何事情。

我完全迷失了,因为我认为它会像插入和删除对象一样简单。

感谢您的帮助!

(ps:我使用Swift进行编码,但即使是Objective C代码也可以作为答案:))

1 个答案:

答案 0 :(得分:0)

我实际上是在尝试使用两个数据库,而我应该使用配置来分隔保存到云中的实体和本地保存的实体。

对于那些想要了解有关iCloud的CoreData的更多信息的人,我建议从Apple WWDC 2012中查看这个video,这有助于我们深入研究这个主题。