答案 0 :(得分:1)
您需要创建托管对象模型包,并启用迁移。这实际上允许您加载多个数据库模型以检索相同类型的数据。然后,您可以告诉托管对象上下文复制所有内容。有关详细信息:http://www.timisted.net/blog/archive/core-data-migration/。
答案 1 :(得分:0)
听起来我们的模型非常简单。如果您所做的只是向现有模型添加更多属性,则可以执行轻量级迁移。这意味着CoreData将为您执行迁移。
执行以下操作:
1.在Xcode中,单击您的模型。它应该具有.xcdatamodeld扩展名。
2.转到Editor-> Model Version并添加新模型,注意更改版本。
3.添加新属性。
4.确保将新属性添加到相关的托管对象子类。
5.在您的持久性商店协调员实施中,最有可能在您的应用程序委托中。确保添加选项NSMigratePersistentStoresAutomaticallyOption。您的代码应如下所示:
NSPersistentStoreCoordinator *psc=persistentStoreCoordinator;
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,nil];
NSError *error=nil;
if (![psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {
// handle errors
}
以下是Apple关于轻量级迁移的文档 http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/vmLightweight.html
祝你好运1