4

我想将我的 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 让数据在后台同步吗?

4

1 回答 1

2

当您使用 iCloud 同步 Core Data 时,您需要在单独的线程上加载存储。看一眼:

https://devforums.apple.com/thread/126670

这演示了商店的异步加载。

于 2011-11-23T02:34:05.363 回答