问题
- 我得到了 4 个版本的核心数据模型(轻量级迁移)
- 在版本 5 中需要手动创建映射模型(将数据类型从 nsnumber 更改为 nsstring)
- 从 v4 迁移到 v5 可以很好地使用映射模型,但是对于具有不同版本 (1-3) 的用户,我该如何处理这种迁移?
在非连续版本之间迁移并尝试使用那里提到的渐进式迁移时,我已经阅读了一些 SO post Core Data Migration 错误,但它在全新安装时失败,因为在progressivelyMigrateURL:
NSDictionary *sourceMetadata =
[NSPersistentStoreCoordinator metadataForPersistentStoreOfType:type
URL:sourceStoreURL
error:error];
if (!sourceMetadata) return NO;
并且在- (NSPersistentStoreCoordinator*)persistentStoreCoordinator;
if (![self progressivelyMigrateURL:url
ofType:NSXMLStoreType
toModel:mom
error:&error]) {
[[NSApplication sharedApplication] presentError:error];
return nil;
}
//END:progressivelyMigrateCall
//START:persistentStoreCoordinator
if (![persistentStoreCoordinator addPersistentStoreWithType:NSXMLStoreType
configuration:nil
URL:url
options:nil
error:&error]) {...}
这使得addPersistentStoreWithType:
无法到达
我是否需要更改任何内容才能完成这项工作?
不确定我是否需要完成所有这些工作,因为我在这里阅读了一些评论,指出核心数据会自动完成所有这些艰苦的工作,但还找不到任何文档。