我正在尝试检索使用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
框
- 我一直在使用this教程来尝试理解代码的工作原理
答案 0 :(得分:2)
在第一行中,您从应用委托中获取managedObjectModel
并将其分配给NSManagedObjectContext
。您应该取代managedObjectContext
。
答案 1 :(得分:2)
从您的代码中,不清楚您分配给托管对象上下文的具体内容。它应该是托管对象上下文,而不是托管对象模型。
此外,您应该检查(error!=nil)
是否&error
。阅读你的C指针语法(;-)。