我有一个以coredata作为后端的客户端应用程序。它很简单,有两个实体。
更新:使用 CloudKit 作为同步服务。我不确定那里发生了什么。除非我可以查询并获得结果,否则不要自动工作。问题是,我注意到大多数第三方同步服务提供商。 95%的时间,他们都工作。当我使用多个设备/同时呼叫测试它时会发生一些不希望的变化。
这个问题更多是关于iOS和coredata而不是实际的同步架构。
有时会出现明确的同步数据丢失。我真的不知道何时以及如何。我还在搞清楚。有时初始同步需要很长时间(如果是现有数据)并且用户可能关闭应用程序,(有些人双击主页按钮并实际关闭应用程序!)。 但不管我做什么,有时候我会想念一个物体,有时候是一个属性。
所以我看到了这个NSAsynchronousFetchRequest
,我想给我一个检查所有本地数据(coredata)是否合适的选项,看看是否有任何遗漏。
也许我可以使用一个简单的谓词来查看某些managedObject.title == nil
并获取其标识符。收集那些有缺陷的对象并向真实服务器请求这些对象的数据?这是NSAsynchronousFetchRequest
的好用吗?
如果是,,那么在应用的生命周期内这会是好事吗?
我想也许在applicationDidEnterBackround
之后会是个好时光..?然后,如果我确实得到它,则需要一种在后台管理CoreData
的好方法!
如果不是,那么......真的不知道当时的事情。
我试图实际执行此操作,将使用我的结果进行更新。
更新:更新问题以反映Cloudkit的使用