Мое приложение использует CoreData
с моделью: mupo-ios.xcdatamodel
. Эта модель является второй версией оригинальной модели Model.xcdatamodeld. Я был с помощью managedObjectContext
через документ:Не удалось найти файл «.momd»
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:@"MyDocument"];
self.document = [[UIManagedDocument alloc] initWithFileURL:url];
// Set our document up for automatic migrations
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
self.document.persistentStoreOptions = options;
}
И потом, я достигаю managedObjectContext
:
self.managedObjectContext = self.document.managedObjectContext;
Теперь я хочу, чтобы получить доступ к главному контексту непосредственно, вот код:
- (NSManagedObjectContext *)mainContext {
if (!_mainContext) {
_mainContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
_mainContext.persistentStoreCoordinator = self.persistentStoreCoordinator;
}
return _mainContext;
}
Проблема заключается в том, когда я пытаюсь указать managedObjectModel
:
- (NSManagedObjectModel *)managedObjectModel {
if (!_managedObjectModel) {
NSString *localModelPath = [[NSBundle mainBundle] pathForResource:@"mupo-ios" ofType:@"momd"];
NSURL *modelUrl = [NSURL fileURLWithPath:localModelPath];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelUrl];
}
return _managedObjectModel;
}
Файл momd не может быть найден, поэтому managedObjectModel
не может быть инициализирован. Может ли кто-нибудь мне помочь?
Я пробовал это, но он не работает ... – louftansa
Является ли эта модель в статической библиотеке, которую вы создали? Или это все включено в одном проекте? В target-> build phase-> copy bundle resources: Вы видите свою модель там? – yeesterbunny
В моем проекте все включено. Я вижу это в целевых статьях -> фазах сборки -> ресурсах копии. – louftansa