错误:“在实体中找不到键路径 objectID”

Posted

技术标签:

【中文标题】错误:“在实体中找不到键路径 objectID”【英文标题】:Error: "keypath objectID not found in entity" 【发布时间】:2012-03-30 10:50:27 【问题描述】:

我收到此错误: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath objectID not found in entity <NSSQLEntity Pair id=2>'

当我使用“objectId”作为 NSFetchedResultsController 的搜索描述符和 sectionNameKeyPath 时。

我希望每个对象产生一个新部分。

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"objectID" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"objectID" cacheName:nil];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;

有什么建议吗?

提前致谢。

【问题讨论】:

【参考方案1】:

可能是因为 objectId 和 objectID 是不同的字符串。检查一下。

【讨论】:

【参考方案2】:

我遇到了同样的错误。原因是我创建了临时的 NSManagedObjectContext 实例而不保留它。简单地创建对象并将它的引用分配给一个变量就解决了我的问题。

【讨论】:

以上是关于错误:“在实体中找不到键路径 objectID”的主要内容,如果未能解决你的问题,请参考以下文章

找不到错误:找不到页面(404)

易语言的错误怎么办错误(36): 找不到指定的对象成员命令名称“创建内存”

Phonegap 错误 + 错误:找不到模块 'q'

颤振:“致命错误:找不到模块'位置'”Xcode找不到模块

如何修复“找不到名称'ClipboardItem'”错误?

易语言:错误(36): 找不到指定的对象成员命令名称“打开”。