首页 > 解决方案 > 获取某些对象的关系计数(核心数据)

问题描述

我的核心数据模型有一个一对多的关系(宠物主人与宠物)和一个表格(使用 NSFetchedResultsController)显示所有宠物主人,并且需要显示他们拥有的每种动物的数量(狗、猫等)。问题是我不能只计算特定宠物的数量(例如,主人有多少只狗)。我尝试在每个单元格中(在 cellForRowAt 内部)执行另一个查询,但这效率不高,因为每次滚动都会多次调用 cellForRowAt。

PetOwner 模型包含一个 id、名称、年龄等,以及与 Pet 模型的关系,其中一个所有者可以有许多宠物。Pet 模型具有 id、名称、类型、年龄等,以及与 PetOwner 模型的关系,其中每个宠物只能有一个所有者

由于主人可以拥有多个不同类型的宠物,并且petOwner.pets.count只给我他们拥有的所有宠物(所有类型)的计数。我只想获取特定类型宠物(例如狗)的数量。

我如何才能获得与特定宠物主人相关联的特定动物的数量?

标签: swiftxcodecore-datarelationship

解决方案


推荐阅读