我正在尝试使用谓词
获取NSFetchReultController的记录NSNumber *project_id=[[_options objectForKey:@"project"] objectForKey:@"server_id"];
predicate=[NSPredicate predicateWithFormat:@"(owner.user_id = %@ OR Any jarSharedToUsers.user_id = %@) AND status = %@ AND parentProject.project_id = %@ ",user.user_id,user.user_id,[NSNumber numberWithInt:1],project_id];
错误:由于未捕获的异常终止应用' NSInvalidArgumentException',原因:' keypath parentProject.project_id未在实体中找到
我认为这是由于某些实体的parentProject为null。但后来我如何得到满足谓词的entites
答案 0 :(得分:0)
如果尝试访问不存在的NSManagedObject的属性,则通常会抛出此错误。你重新检查过dataModel了吗?从项目到parentProject的关系是否设置正确? parentProject是否有一个名为project_id的实体?
更改DataModel后是否更新了NSManagedObject类?
另外:在更改dataModel之后,您是否完全从设备中删除了应用程序(或者在使用时重置了模拟器)?对dataModel的更改仅适用于干净版本或使用迁移模型。