You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Core Data谓词中获取指定类型所有子实体的关键路径及写法

Core Data 子实体筛选问题解答

问题1:筛选某类型所有子实体的关键路径

在Core Data中,要筛选指定子实体的所有实例,核心关键路径是 entity.name —— 该路径指向托管对象对应的Core Data实体名称,通过它可以精准匹配目标子实体的所有实例。

问题2:修正谓词以获取指定子实体的所有实例

你原有的谓词写法存在格式错误,需要调整为使用entity.name关键路径,并正确传入子实体名称字符串。修正后的代码如下:

// Fetch CfCategory from Core Data
@FetchRequest(entity: CfCategory.entity(),
              sortDescriptors: [],
              predicate: NSPredicate(format: "%K == %@", #keyPath(NSManagedObject.entity.name), "CfSubcategoryA"))

private var categories: FetchedResults<CfCategory>

补充说明:

  • 若偏好简洁写法,也可直接使用字符串形式的关键路径:
    predicate: NSPredicate(format: "entity.name == %@", "CfSubcategoryA")
    
  • 确保"CfSubcategoryA"与你Core Data模型中定义的子实体名称完全一致,大小写敏感。
  • 由于CfCategory是抽象实体,直接查询它(不带谓词)默认会返回所有子实体的实例;仅当需要单独筛选某一个子实体的实例时,才需要添加上述谓词。

内容的提问来源于stack exchange,提问作者whaleshark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 12:15:31