Core Data (Migration and iCloud)

迁移和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配置的持久储存,与另一设备上的存储进行同步。

如果将配置有NSPersistentStoreUbiquitousContentNameKey选项的持久存储迁移到新的模型版本,则存储对当前设备的更改的历史记录也将被迁移,然后与该新模型版本配置的任何其他设备合并。 使用新版本储存的任何更改也会被合并。但是,如果使用自定义映射模型执行迁移,则现有更改不能迁移到新的模型版本。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容