我对 ObjC 有经验,但对 Core Data 来说相对较新。到目前为止,这一直很简单,但我有点受不了人际关系,所以我希望有人能指出我正确的方向。
我有两个实体:一个是人员列表,另一个是事件列表。
我在两个实体之间的数据模型中建立了反向关系(称为“人”),“人”端设置为“对多”。换句话说,我可以有 5 个人但有数千个事件;每个事件都与一个人相关联,但一个人可以负责任意数量的事件。
我使用 [NSEntityDescription insertNewObjectForEntityForName...] 添加事件,然后使用 NSFetchedResultsController 检索它们。
问题是在获取特定事件对象时,我还没有成功地检索到一个人的数据。例子:
Log *logEntry = [_fetchedResultsController objectAtIndexPath:indexPath];
// this works:
NSLog(@"description: %@", logEntry.description);
NSLog(@"happened %i minutes ago", -[logEntry.date timeIntervalSinceNow] / 60);
// this does not (just spits out NULL):
NSLog(@"person responsible: %@", logEntry.people.name);
我错过了什么?我如何获取关系中的人的数据?我有一种感觉,我在首先添加日志条目时遗漏了一个重要链接,或者在检索日志条目时可能是一个必要的谓词。在关系和具体示例方面,Apple 的文档有点少。我可能仍然对老式 SQL 感到困惑,所以我真的可以使用一些帮助。谢谢!