我正在嘗試執行輕量級遷移,但由於創建初始數據模型的方式而產生問題。沒有版本的初始數據模型,所以現在下面的代碼:核心數據自動輕量級遷移 - 從未版本化切換到版本化數據模型
-(NSManagedObjectModel *)managedObjectModel {
//NSLog(@"%s", __FUNCTION__);
if (managedObjectModel != nil) {
return managedObjectModel;
}
//managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
NSString *mainPath = [[NSBundle mainBundle] pathForResource:@"myDatabase" ofType:@"momd"];
NSURL *mainMomURL = [NSURL fileURLWithPath:mainPath];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:mainMomURL];
return managedObjectModel;
}
返回錯誤:*終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是:「* - [NSURL initFileURLWithPath:]:無字符串參數'
我非常確定這是因爲最初的數據模型 - 我已經在我的應用程序中部署給很多人的模型 - 具有媽媽擴展,而不是momd擴展。但是,如果我參加了這一點,並恢復到
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
我得到的錯誤:終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,理由是:「不能合併使用兩個不同的實體模型命名...
我希望這不是第一次有人遇到這種情況...有什麼我可以做的,以便我可以成功遷移所有當前用戶?
我希望Marcus Zarra會在.. – SAHM
任何想法?我錯過了明顯的東西嗎? – SAHM