Я пытаюсь использовать функцию миграции в CoreData. Я следил за документацией Apple. У меня есть проблема в следующем методе:Использование mergedModelFromBundles: и управление версиями (CoreData)
/**
Returns the managed object model for the application.
If the model doesn't already exist, it is created by merging all of the models found in the application bundle.
*/
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
/*
* NSInvalidArgumentException', reason: '*** -[NSCFArray insertObject:atIndex:]: attempt to insert nil'
* 2010-02-17 16:27:15.338 Patrimoine[3037:207]
*/
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
return managedObjectModel;
}
Вероятно, есть та же самая проблема на http://iphonedevelopment.blogspot.com/2009/09/core-data-migration-problems.html
Но я сделал выбор метода Apple, предполагает, с помощью опции меню «Добавить модель Version».
У вас есть идея?
Это замечательно! Спасибо! – charlax
Уборка не обязательно устраняет проблему. Xcode не удаляет старые файлы ресурсов из установленных приложений даже после чистой сборки. Использование initWithContentsOfURL вместо mergedModelFromBundles по крайней мере уменьшает проблему только до старых файлов .mom в одной папке. (Я просто боролся с этой проблемой в течение нескольких дней: http://stackoverflow.com/a/13146888/1017650) – Symmetric