【发布时间】:2013-08-25 02:33:20
【问题描述】:
我到处搜索,但找不到我要找的确切内容。我的问题与此类似,但略有不同:
Core Data - Count of Related Records
假设我有一个 Car 实体,它与 Person 实体具有一对多关系。这意味着这辆车可以有多个人驾驶,但每个人只能驾驶一辆车。
我希望能够只执行一个谓词,其中我可以实现以下目标:
- 所有“红色”的汽车。
- 仅返回匹配汽车的“年份”和“颜色”属性。
- 返回驾驶这辆车的人数(即每辆生成的汽车内的 NSSet 人数)。
是否可以通过一个查询完成所有这些操作?
我知道如何处理多个查询。我只会使用setPropertiesToFetch 并使用过滤谓词来实现上面的 1 和 2。然后,我将对每辆车的 Persons 实体执行另一个计数查询 (countForFetchRequest),以找出每辆车有多少人驾驶。
关键是上面的第三个要求。我想在一个谓词中完成所有事情,并且我不想在初始查询时将所有 Person 实体对象都带入内存(性能)。此外,为每辆车调用另一个 countForFetchRequest 查询会很痛苦。
最好的方法是什么?
谢谢!
【问题讨论】:
标签: ios objective-c core-data nspredicate