Что делает iCloud во время начальной синхронизации? - PullRequest
4 голосов
/ 05 ноября 2011

Я хочу синхронизировать мое приложение «Обуви с основными данными» с 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 исинхронизация данных в фоновом режиме?

1 Ответ

2 голосов
/ 23 ноября 2011

Когда вы используете iCloud для синхронизации основных данных, вам нужно загрузить хранилище в отдельном потоке.Взгляните на:

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

Это демонстрирует асинхронную загрузку магазина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...