Использование 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 (;-).