Пример iPhone Core Data производит исключение - PullRequest
4 голосов
/ 18 марта 2009

Больше не под NDA.

В примере iPhone Core Data было пропущено, но теперь оно исправлено. Кроме того, пример кода всегда был правильным, они просто пропустили некоторые детали в руководстве.

(см. Форумы разработчиков iPhone для объяснения)

Я дважды создал приложение и дважды получил одну и ту же ошибку (но в 2 разных местах):

Завершение работы приложения из-за отсутствия связи исключение 'NSInternalInconsistencyException', причина: '+ entityForName: не удалось найдите NSManagedObjectModel для Имя сущности 'Событие' '

Я прочитал яблочные документы :

Это говорит о проблеме с отсутствующей моделью, или контекстом является ноль, или хранилище постоянных данных недействительно.

Однако, поскольку это мой первый проект Core Data, я немного слаб в отладке. Я могу отправить код, если это необходимо.

Любая помощь очень ценится.

1 Ответ

8 голосов
/ 18 марта 2009

Я нашел ответ. (Если вам нужен вариант этого ответа для iPhone 3.0 sdk, обратитесь к ссылке внизу страницы) Вот что должно быть в методе делегата приложения. Метод applicationDidFinishLaunching должен выглядеть так:

(void)applicationDidFinishLaunching:(UIApplication *)application { 

    NSManagedObjectContext *context = [self managedObjectContext];
    if (!context) {
        // Handle the error.
    }

    RootViewController *rootViewController = [[RootViewController alloc] 
                                              initWithStyle:UITableViewStylePlain]; 

    rootViewController.managedObjectContext = context;

    UINavigationController *aNavigationController = [[UINavigationController 
                                                      alloc] initWithRootViewController:rootViewController]; 
    self.navigationController = aNavigationController; 
    [window addSubview:[navigationController view]]; 
    [window makeKeyAndVisible]; 
    [rootViewController release]; 
    [aNavigationController release]; 
} 

Ссылка на форумы разработчиков iPhone

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...