在实体异常中找不到keypath objectID

Val*_*adu 2 iphone cocoa core-data ipad ios

在尝试在objectID之后获取一些对象时,我遇到了这个奇怪的问题.该错误抱怨没有objectID键路径,但托管对象应该响应.错误不会一直抛出,这让我觉得它可能是一个并发问题,虽然我已经仔细检查过,每个上下文都在自己的线程上执行操作.

这是谓词,虽然它看起来很明智: [NSPredicate predicateWithFormat:@"objectID == %@", book.objectID]

编辑:关于这个答案.我没有尝试使用对象本身,因为多线程的考虑,我需要使用objectID.

Dan*_*lly 9

这条链接中给出的答案仍然存在.
从某种意义上说,它使用相同的谓词:

NSPredicate* p = [NSPredicate predicateWithFormat:@"SELF = %@",book.objectID];
Run Code Online (Sandbox Code Playgroud)

但是你提供了objectIDas参数.

CoreData允许objectID在从商店获取时比较s和对象.它可能与以下事实有关:a objectID用于与托管对象的一对一映射(因此使用SELF,它是谓词保留字而不是属性名称).