我正在尝试在应用程序中复制Finder的基于NSPredicateEditor的元数据搜索.
我更愿意免费获得Finder的确切NSPredicateEditor,但除非有人对这个问题有更好的答案,否则看起来我将不得不尽可能地复制Finder的搜索.
在镜像Kind选项时,我遇到了问题.我开始使用所有可用Kind选项保存Finder Spotlight搜索.
Run Code Online (Sandbox Code Playgroud)
我看到的问题是,单个"Kind"用户显示的文本包含多个键路径,这些路径在结果NSPredicate中使用,基于选择的正确值.
"类"可表示(至少)kMDItemContentTypeTree,_kMDItemGroupId或kMDItemKind.
当我创建一个NSPredicateEditorRowTemplate时,我传递一个左表达式,运算符和右表达式的数组.然后创建包含Left/Operator/Right的所有可能排列的行模板.
(注意:我是以编程方式而不是在Interface Builder中创建所有NSPredicateEditorRowTemplate的).
Finder 没有创建3个左键路径和12个右键值的所有可能排列.它根据右侧拾取的值有选择地分配某个左键路径.
我正在使用NSRuleEditor的 …
cocoa nspredicateeditor appkit nspredicate nspredicateeditorrow