核心数据的一对多关系

时间:2011-09-30 22:37:22

标签: ios4 core-data iphone-sdk-3.0

我在核心数据方面存在问题,与一对多关系。

我有两个实体,比如Class和Pupils。 一个班级可以有很多学生,但是一个学生只属于一个班级。

我可以列出Class项并将它们放在UITableView对象中。 我还可以列出Pupils项目并将它们放在UITableView对象中。

我的问题是:对于给定的课程说classX,我怎样才能得到相应的学生。

这是我第一次与Core Data使用“关系”。 我试图在网上找到一些示例代码,但没有成功。

感谢任何有用的提示。

1 个答案:

答案 0 :(得分:1)

如果你的关系被命名为“pupils”并且你有一个名为“myClass”的类的托管对象,那么:

NSSet *pupilsForClass = [myClass valueForKey:@"pupils"];
for (NSManagedObject *pupil in pupilsForClass) {
    // Do something for each pupil
}

如果您有Pupil和Class实体的NSManagedObject子类,那么您还可以使用由核心数据动态生成的setter / getter方法更直接地访问属性。