我的CoreData到iCloud与NSPersistentCloudKitContainer的同步有问题。
同步是有效的,但当我重新安装应用程序时,在应用程序启动和同步结束之间会有几秒钟的恼人延迟。我需要在启动时决定是创建新的数据实体还是使用iCloud中的“旧”数据。
如果有办法,我可以忍受这种延迟,等待同步完成。
a)在启动时确定iCloud中有要同步的数据,以及
b)最终完成同步时收到通知
有没有人知道实现这一点的解决方案?设置NSPersistentStoreRemoteChangeNotificationPostOptionKey不会有太大帮助,因为它在同步过程中会触发多次,并且不会提供任何状态信息。
发布于 2020-11-04 02:05:42
冒着给您提供最无用的答案的风险,我认为这是不可能的,即使它是可能的,我也认为您正在与NSPersistentCloudKitContainer的哲学作斗争。
对于NSPersistentCloudKitContainer,您应该假设同步以不规则的、不稳定的时间间隔发生,或者根本不同步。它应该是在后台无缝操作的,没有什么可担心的。您不应该尝试在代码中推测它何时发生或是否发生。
这非常类似于在你的iPhone上拍摄一张照片,然后几秒钟后照片就会出现在你的iMac上。iCloud同步决定是否以及何时发生同步。
我知道这没有帮助,但我认为您应该意识到这一点。
https://stackoverflow.com/questions/64664284
复制相似问题