我有一个如上所示的核心数据模型,并编写了一个NSFetchedResultController,通过使用'questionOrderIndex'对其进行排序来获取AssignmentQuestion对象。
这里的想法是获取赋值的问题,AssignmentQuestion是一个连接表,用于按顺序获取问题。
即使fetch控制器获取AssignmentQuestion对象,我也可以询问assignmentQuestion对象的问题,然后在UI上显示它。
AssignmentQuestion上的谓词:
assignment.assignmentId == 366 AND count:(question.distractors) > 0
根据上述谓词,只提取干扰器大于0的问题。
问题是,获取控制器在下载干扰器之后不会触发其回调方法,就像问题一样。我知道我可以通过使用 willChangeValueForKey 和 didChangeValueForKey 来触发回调,方法是通过distractor的问题关系访问AssignmentQuestion对象。
Question *question=[dist question];
for (AssignmentQuestion *evalQuest in question.assignmentQuestion)
{
[evalQuest willChangeValueForKey:@"questionOrderIndex"];
[evalQuest didChangeValueForKey:@"questionOrderIndex"];
}
还有其他简单的方法吗?