【发布时间】:2013-08-28 00:27:07
【问题描述】:
假设我有一个包含数千个对象的实体 A。这些对象中的每一个都与另一个实体 B 具有一对多的关系。实体 B 的一个属性是“部分”。
我想要实体 A 的所有对象中 B 的所有不同部分的 NSSet。
如果我只希望 B 的不同部分用于 A 的一个对象,我会使用:
[A valueForKeyPath:@"B.section"];
但是有没有一种有效的方法来为 A 的所有对象获取此信息?在我看来,获取 A 的所有对象然后迭代这个数组,执行上述操作是“太多的工作”。当然可以轻松完成,但我希望我的核心数据天真仅仅意味着我不知道如何在一行中完成此操作。
如何做到这一点?
谢谢!
编辑要求澄清:
假设 Person 实体与 Vehicles 实体具有一对多关系。 假设 Vehicles 实体有一个属性“color”。
我想要属于所有人的所有车辆的所有颜色的 NSSet。
【问题讨论】:
-
[A valueForKeyPath:@"B.section"];不会给你 B 的不同部分,它会给你 B 的所有部分。 -
请稍微澄清一下你的问题——我已经读了 3 遍了,但仍然不清楚你在寻找什么系列。对于给定的 A 部分,您是否想要一组所有 B 实体?您想要一组按唯一部分过滤的所有 B 实体吗?
标签: ios objective-c core-data