遷移和iCloud
如果你使用iCloud,則只能使用自動輕量級遷移來遷移儲存的內(nèi)容。要遷移位于iCloud中的持久儲存罩扇,使用addPersistentStoreWithType:configuration:URL:options:error:并在選項字典中至少傳遞一下選項梧奢,將該儲存添加到持久儲存協(xié)調(diào)器:
NSDictionary *optionsDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
<#Ubiquitous content name#>, NSPersistentStoreUbiquitousContentNameKey, nil];
一個儲存的變化都被記錄和保存在每一個獨(dú)立的模型版本,是與一個給定的NSPersistentStoreUbiquitousContentNameKey有關(guān)楼吃。如果模型版本匹配始花,則使只能用給定的NSpersistentStoreUbiquitousContentNameKey配置的持久儲存妄讯,與另一設(shè)備上的存儲進(jìn)行同步。
如果將配置有NSPersistentStoreUbiquitousContentNameKey選項的持久存儲遷移到新的模型版本酷宵,則存儲對當(dāng)前設(shè)備的更改的歷史記錄也將被遷移亥贸,然后與該新模型版本配置的任何其他設(shè)備合并。 使用新版本儲存的任何更改也會被合并浇垦。但是炕置,如果使用自定義映射模型執(zhí)行遷移,則現(xiàn)有更改不能遷移到新的模型版本男韧。