我想将我的 Core Data 鞋盒应用程序与 iCloud 同步。Apple 提供的示例项目展示了如何设置 NSPersistentStoreCoordinator 以启用 iCloud。代码大致如下所示:
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:@"com.company.app", NSPersistentStoreUbiquitousContentNameKey, cloudURL, NSPersistentStoreUbiquitousContentURLKey,nil];
[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]);
问题是:如果 iCloud 中已经存储了数据,则此方法需要永远返回persistentStoreCoordinator。如果我同步执行,我会在几分钟内看到一个空白屏幕,如果我异步执行,我的应用程序将完全无法使用,因为我无法与 Core Data 交互。
当然有一种方法可以像没有 iCloud 一样添加持久存储,然后让 iCloud 异步工作?
基本上,我的问题是,iCloud 在初始同步期间做了什么,我可以先让我的 persistentStoreCoordinator 让数据在后台同步吗?