V1r*_*ru8 6 cocoa-touch core-data objective-c ios xcode4.5
我有两个版本的模型Model001.xcdatamodel和Model002.xcdatamodel.这两个都在Model.xcdatamodeld捆绑中.我也有一个Model001to002.xcmappingmodel不属于的一部分Model.xcdatamodeld.我检查过:xcmappingmodel和xcdatamodeld都被复制到.app包中.
我的托管对象上下文初始化如下:
Run Code Online (Sandbox Code Playgroud)NSURL *documentModel = [bundle URLForResource:@"Model" withExtension:@"momd"]; managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:documentModel]; return managedObjectModel;
我还在initWithFileURL: 我的UIManagedObject子类中重写了这些属性.
Run Code Online (Sandbox Code Playgroud)NSMutableDictionary *options = [NSMutableDictionary dictionaryWithDictionary:self.persistentStoreOptions]; [options setObject:@YES forKey:NSMigratePersistentStoresAutomaticallyOption]; [options setObject:@YES forKey:NSInferMappingModelAutomaticallyOption]; self.persistentStoreOptions = [options copy];
但是当我尝试打开文档时,我收到以下错误:
Can't find mapping model for migration
- 更新 -
即使我进行手动迁移
Run Code Online (Sandbox Code Playgroud)[NSMappingModel mappingModelFromBundles:@[[NSBundle mainBundle]] forSourceModel:sourceObjectModel destinationModel:self.managedObjectModel];
这返回nil.虽然我仔细检查了Model001to002.cdm是否在应用程序包中.它必须在应用程序包中吗?
好的,通过从 Xcode 中删除所有核心数据文件,读取它们并再次设置映射模型的源和目标来解决问题。
该死的Xcode!
| 归档时间: |
|
| 查看次数: |
3686 次 |
| 最近记录: |