【发布时间】:2014-09-11 18:29:16
【问题描述】:
我有一个相当棘手的问题,我还没有找到答案,希望您能提供帮助!我的情况是这样的:我在 Core Data 中有以下对象模型
场景>人物>线条
实体之间的关系:Scenes->toCharacters->Characters->toLines->Lines
我想要完成的是获取所有存在实际有线条的角色的场景。
我读过的每篇文章都只是简单地谈论“Walking The Graph”,这确实有效,但并不是一直到 Lines 实体。
例如,这个谓词工作得很好,深入一层并检索所有包含字符的场景:
let scene_ent:NSEntityDescription = NSEntityDescription.entityForName("Scenes", inManagedObjectContext: context)
scenerequest.entity = scene_ent
let predicate:NSPredicate = NSPredicate(format: "toCharacters.@count > 0")
scenerequest.predicate = predicate
当我尝试修改谓词以检索所有包含有线条的字符的场景时:
let predicate:NSPredicate = NSPredicate(format: "toCharacters.Characters.toLines.@count > 0")
我收到错误“不支持的函数表达式计数:(toCharacters.Characters.toLines)”
我在这里遗漏了什么非常简单的东西吗?
谢谢!
【问题讨论】:
-
我认为您正在寻找的内容可以通过 SUBQUERY 实现。如果您在 SO 上进行一些搜索,您应该会找到详细信息。
标签: ios core-data swift predicate