Использование Core Data для получения генерирует "нераспознанную ошибку селектора"?

Я пытаюсь получить список объектов, сохраненных с использованием Core Data. Никаких изменений, где были сделаны настройки по умолчанию, сделанные XCode при создании проекта. Есть элементы в реальном хранилище данных, и объект Transaction отлично работает при сохранении, но при запуске следующего кода:

    NSManagedObjectContext * context = [[NSApp delegate] managedObjectModel];
    NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription * entity = [NSEntityDescription 
                                    entityForName:@"Transaction" 
                                    inManagedObjectContext:context];
    [fetchRequest setEntity:entity];
    NSError * error = nil;
    NSArray * transactionList = [context executeFetchRequest:fetchRequest error:&error];
    if (&error != nil) {
        [Utility showMessage:error.description asError:YES];
    } else {
        [Utility showMessage:[NSString stringWithFormat: @"Items: %@", transactionList.count] asError:NO];
    }    

Я получаю следующую ошибку при попытке создать entity объект.

[NSManagedObjectModel persistentStoreCoordinator]: нераспознанный селектор, отправленный экземпляру

Чего мне не хватает, или что мне сделать, чтобы проверить причину ошибки?

Сноски
- Utility статический класс, который просто генерирует NSAlert коробка.
- Я использовал этот учебник, чтобы попытаться понять, как работает код

2 ответа

Решение

В первой строке вы получаете managedObjectModel от вашего приложения делегата и присвоения его NSManagedObjectContext, Вы должны получить managedObjectContext вместо.

Из вашего кода не ясно, что именно вы назначаете контексту управляемого объекта. Это должен быть контекст управляемого объекта, а не модель управляемого объекта.

Кроме того, вы должны проверить, если (error!=nil) не &error, Читайте о вашем синтаксисе указателя C (;-).

Другие вопросы по тегам