在核心数据中,我的模型中有三个实体:Worker、Task 和 SubTask。每个实体都与其下面的实体存在一对多关系以及一对一逆关系。 Worker有很多Task,每个Task有很多SubTask,每个SubTask有一个parentTask,每个Task有一个Worker。 SubTask 有一个 startTime 属性,在 newObject 方法中设置为当前时间,还有一个按钮在我的 SubTaskArrayController 类中触发 endSubTask 方法。 endSubTask 计算 startTime 和 now 之间的时间,并为 SubTask 属性 timeWorked 设置该值。到目前为止,一切都很好。问题:
让所选任务的totalTimeWorked 属性自行更新的最佳方法是什么?
当我尝试类似的事情时
[currentSubTask setValue:newTotalTime forKey:@"parentTask.totalTimeWorked"];
我得到:
[ setValue:forUndefinedKey:]: the entity SubTask is not key value coding-compliant for the key parentTask.totalTimeWorked.
如何访问当前所选子任务的父任务的属性?
最佳答案
您正在使用关键路径。您应该使用 setValue:forKeyPath:
来代替。
关于cocoa - 以编程方式从 Core Data 中的另一个实体设置一个实体的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050925/