Core data NSPredicateEditor中的自定义复合行
假设我们有两个核心数据实体:Core data NSPredicateEditor中的自定义复合行,core-data,nspredicateeditor,Core Data,Nspredicateeditor,假设我们有两个核心数据实体: 实体栏 属性bar1 属性bar2 实体食品 属性foo1 属性foo2 许多关系栏 我想使用NSPredicateEditor搜索“具有带(bar1='term1'和bar2='term2')的条形图的任何Foo”。也就是说,同一条中有多个匹配项 使用某种自定义复合谓词,它有这样一个UI 图1 图2 我知道如何创建顶级NSPredicateEditorRowTemplates,以便根据条形图属性(Foo.Bar.bar1)搜索Foo。 但是这些都是
- 实体栏
- 属性bar1李>
- 属性bar2李>
- 实体食品
- 属性foo1李>
- 属性foo2李>
- 许多关系栏
定制NSPredicateEditor的代码少得出奇…谢谢您的编辑,Hitesh!不能组合简单行(foo1)和复合行(条形图包含项)。可以添加复合行模板(任何/所有/无条匹配以下内容),但似乎不可能有foo行和bar行。是的,可以用与简单键(foo1)相同的方式匹配键路径(bar.bar1)。这些条件也可以分组为复合谓词。但是这样一个复合谓词的子谓词总是在所有条上运行。我还没有找到一种方法来匹配同一对象中的条件(bar1='term1'和bar2='term2')。-那么多个复合谓词类型是不可能的吗?它们不必出现在弹出按钮中。NSRuleEditor有一个insertrowatinex:withType:asSubrowOfRow:animate:,看起来很有希望,但NSPredicateEditorRowTemplates的类型是私有的。该类型是
NSRuleEditorRowType
:NSRuleEditorRowTypeSimple
或NSRuleEditorRowTypeCompound
。无法更改行的类型或将属性弹出窗口限制为某些行中的Foo属性和其他行中的Bar属性。查看NSRuleEditor.h中的注释,它解释了NSRuleEditor
的工作原理nspredicateditor
从行模板创建两个条件树。谢谢。标题中的文档比在线文档要好得多。为NSRuleEditor创建子类可能并不太困难。