问题标签 [nspredicateeditorrow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
961 浏览

cocoa - NSPredicateEditorRowTemplate 和 CoreData

我正在尝试为我的核心数据实体生成谓词编辑器模板。在我的代码中,我有以下内容:

打印出模板数组的内容给了我以下信息:

CFArray 0x1002d7400 [0x7fff70ff5f20] {type = immutable, count = 2, values = ( 0 : NSPredicateEditorRowTemplate 0x10025c090: [name] [99, 4, 5, 8, 9] NSStringAttributeType 1: NSPredicateEditorRowTemplate 0x1002,52dc0: [年龄] [4, 0, 2, 1, 3] NSInteger16AttributeType )}

当此代码执行时,我在控制台上得到以下信息:

执行此操作的界面看起来非常简单,所以我似乎无法弄清楚我做错了什么。任何帮助将不胜感激!

编辑

我最初的问题是当我的模板不支持它时,我正在使用 LIKE 运算符。但是,我很困惑为什么在将复合谓词传递到编辑器时会收到类似的警告。

或者

这两个都会产生与我最初的问题类似的警告。但是,我觉得奇怪的是,我可以使用单个谓词并构建复合和谓词,但我不能将预构建的复合和谓词传递到编辑器中。

0 投票
0 回答
81 浏览

objective-c - How do i get the removing predicate editor row after clicking on the "-" Button in NSPredicateEditor?

I have an NSPredicatedEditor with Custom Row Templates. I would like to know the removing custom row template after clicking on "-" in NSPredicateEditor. I have tried over-riding the below method which actually provides index as a parameter but it doesn't return the exact index when its included with sub row(Nested Compound Row Templates). I'm looking for the instance of the removing row template while its been removed.

removeRowsAtIndexes:includeSubrows:

0 投票
1 回答
260 浏览

swift - NSPredicateEditor 与 Core Data 关系

我有一个包含两个实体 Document 和 Field 的核心数据数据模型:

  • 文档:

    • 领域[对许多关系]
  • 场地:

    • 姓名
    • 字段文本
    • 字段日期
    • 字段编号
    • 文件 [对一种关系]

我正在尝试设置一个 NSPredicateEditor 以允许某人根据某些字段的内容过滤文档。我像这样手动构建谓词编辑器:

问题是 NSPredicateEditor 不允许使用 NSSubqueryExpressionType 的 NSExpressions,所以我不能将子查询作为我的左表达式。我需要 NSPredicateEditorRowTemplate 包含字段名称和属性路径(fieldText、fieldDate 或 fieldNumber),以便一行的最终谓词如下所示:

关于如何做到这一点的任何建议?我应该继承 NSPredicateEditorRowTemplate,如果是的话怎么办?提前感谢您的帮助。

0 投票
1 回答
253 浏览

cocoa - 在同一个 NSPredicateEditorRowTemplate 中合并多个本地化的左键路径?

我正在尝试在应用程序中复制 Finder 的基于 NSPredicateEditor 的元数据搜索。

我更愿意免费获得 Finder 的确切 NSPredicateEditor,但除非有人对这个问题有更好的答案,否则我将不得不尽可能地复制 Finder 的搜索。

在镜像Kind选项时,我遇到了一个问题。我首先保存包含所有可用Kind选项的 Finder Spotlight 搜索。

Finder 搜索中的每个 <code>Kind</code> 选项。

当我Get Info在结果保存的搜索文件夹中时,查询被列为:

我看到的问题是,单个“Kind”用户显示的文本包含多个关键路径,这些路径根据选择的正确值在生成的 NSPredicate 中使用。

“种类”可以表示(至少)kMDItemContentTypeTree、、_kMDItemGroupIdkMDItemKind

当我创建一个NSPredicateEditorRowTemplate时,我传递了一个左表达式、运算符和右表达式的数组。然后创建包含左/运算符/右的所有可能排列的行模板。

(注意:我以编程方式而不是在 Interface Builder 中NSPredicateEditorRowTemplate创建所有s )。

Finder并未创建 3 个左键路径和 12 个右值的所有可能排列。它是根据在右侧选择的值有选择地分配某个左键路径。

我正在使用NSRuleEditor'sformattingDictionary属性本地化行模板,基于此处找到的指南:http: //funwithobjc.tumblr.com/post/1482915398/localizing-nspredicateeditor

可以将相同的“Kind”本地化分配给两个不同NSPredicateEditorRowTemplate的 s 中的两个不同的键路径表达式。

当我使用相同的左键路径表达式将两个行模板本地化为“Kind”时,以下“合并模板”引用为真,并且列表中只显示一个“Kind”。右侧的弹出窗口是两个模板中所有值的联合集。

两行模板,单键路径,相同的本地化

在运行时,NSPredicateEditor 会将模板合并在一起,第二个弹出窗口将显示日期模板的所有运算符的联合。http://www.cocoabuilder.com/archive/cocoa/282859-nspredicateeditorrowtemplate-and-dynamic-templateviews.html

但是,当我使用不同的左键路径表达式创建两个都本地化为“Kind”的行模板时,我在左表达式弹出窗口中得到了两个“Kind”行。模板未合并。

两个行模板,两个关键路径,相同的本地化

我应该如何复制 Finder 的行为?如果左键路径具有相同的本地化,即使它们代表不同的键路径/表达式,我也需要以某种方式合并它们,从而产生具有多个左键路径的单行模板,每个左键路径具有独立的右值集。

0 投票
3 回答
272 浏览

macos - 为什么 NSPredicateEditor 会自动本地化一些表达式字符串?如何禁用?

我发现某些 NSPredicateEditor/NSPredicateEditorRowTemplate值正在由 OS X 自动本地化。

.equalTo这在 operator:到 string的映射中很容易观察到is

但我刚刚注意到 UTI 字符串被映射到该 UTI 的人类可读版本。

下面,我设置"public.image"但它随后显示为"image".

NSPredicateEditor 中的 UTI 运算符

只有某些有效的 UTI 以这种方式映射。我不知道是否为运算符和 UTI 之外的其他格式提供了自动本地化字符串。

这是一个问题,因为我想本地化我的 NSPredicateEditor 和 Row Templates

本地化谓词的过程涉及将键与本地化值匹配。

问题是键中的值必须与UI 中显示的字符串匹配。不是最初设置为行模板的左右表达式的字符串。

因此,我无法"public.image"在密钥中使用本地化。UI 出于某种原因已经将其本地化为"image". 如果我想本地化行模板,我必须改用字符串"image"。而且我不知道这个"image"字符串是如何或为什么被选中的。

我可以通过测试确定这些字符串,然后编写一个将表达式映射到本地化字符串的表。但我更希望有一个禁用这种自动本地化的解决方案,这样我就不必担心我没有测试过的字符串。

为什么 UTI 会自动本地化?其他值是否接受相同的处理?

有没有办法禁用 UTI 字符串和/或整个谓词编辑器的自动本地化?

0 投票
0 回答
324 浏览

swift - 验证 NSPredicate 格式

在我的应用程序中,用户可以NSPredicate使用NSPredicateEditor. NSPredicateEditorRow我想通过测试 NSPredicate来验证用户是否输入了正确的 RegEx 。

那可能吗?