2015-05-18 1 views
0

У меня есть расширение, которое использует ту же модель, что и основное приложение, и у меня было это раньше, но теперь оно больше не работает.Невозможно создать NSPsistentStoreCoordinator с моделью nil. Сегодня Extension

Я получаю ошибку * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'

Вещи, которые я сделал:

Убирали Построить папку и Убирали проекта

перезапущен Xcode

Restarted компьютер

Изменено "momd" в " мама "

Гарантировано, что в настоящее время у модели есть проверка расширения в целевом членстве

Что еще я могу сделать?

- (NSManagedObjectModel *)managedObjectModel 
{ 
    if (_managedObjectModel != nil) { 
     return _managedObjectModel; 
    } 
    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"]; 
    _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; 
    return _managedObjectModel; 
} 

ответ

0

У меня есть общий контейнер для доступа к основным данным (структура на самом деле), и я получаю URL-адрес модели по-другому. Возможно, вы сможете смоделировать URL-адрес после этого:

NSArray *frameworks = [NSBundle allFrameworks]; 
NSPredicate *dataStorePredicate = 
    [NSPredicate predicateWithFormat:@"bundlePath.lastPathComponent == %@",frameworkName]; 
NSArray *filteredFrameworks = [frameworks filteredArrayUsingPredicate:dataStorePredicate]; 
NSBundle *dataBundle = filteredFrameworks.lastObject; 
NSURL *modelURL = [dataBundle URLForResource:projectName withExtension:@"momd"]; 

 Смежные вопросы

  • Нет связанных вопросов^_^