Миграция и iCloud
При использовании iCloud можно только переместить содержание хранилища с помощью автоматической легкой миграции. Для миграции персистентного хранилища, которое находится в iCloud Вы добавляете хранилище к персистентному координатору хранилища, использующему addPersistentStoreWithType:configuration:URL:options:error:
и передайте, по крайней мере, следующие опции в словаре опций:
NSDictionary *optionsDictionary = [[NSDictionary alloc] initWithObjectsAndKeys: |
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, |
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, |
<#Ubiquitous content name#>, NSPersistentStoreUbiquitousContentNameKey, nil]; |
Изменения в хранилище зарегистрированы и сохранены независимо для каждой версии модели, связанной с данным NSPersistentStoreUbiquitousContentNameKey
. Персистентное хранилище сконфигурировано с данным NSPersistentStoreUbiquitousContentNameKey
только данные синхронизаций с хранилищем на других данных устройства, если соответствуют версии модели.
Если Вы мигрируете, персистентное хранилище сконфигурировало с a NSPersistentStoreUbiquitousContentNameKey
опция к новой версии модели, истории хранилища изменений, происходящих из текущего устройства, будет также перемещена и затем объединена с любыми другими устройствами, сконфигурированными с той новой версией модели. Любые изменения от хранилищ с помощью новой версии также объединяются в. Если миграция выполняется с помощью пользовательской модели отображения, существующие изменения не могут, однако, быть перемещены на новую версию модели.