NSPredicateEditor 只是不会出现

Posted

技术标签:

【中文标题】NSPredicateEditor 只是不会出现【英文标题】:NSPredicateEditor Just Won't Show Up 【发布时间】:2010-06-21 19:42:15 【问题描述】:

我遇到了一个非常奇怪的问题。我正在尝试使用 IB 将 NSPredicateEditor 放入我的界面,当我构建应用程序时,它只是显示为一个空的灰色矩形。这没有我对默认值应用任何更改,包括不修改默认模板。可能发生了什么?

【问题讨论】:

【参考方案1】:

NSPredicateEditor 在绑定到某个属性(如 NSArrayController 的 filterPredicate)时效果最好。

您在 IB 中设置的模板只是为了允许您定义规则的限制(例如允许用户选择“名字”或“姓氏”)但没有定义控件“活动”时显示的内容。

要修改“空”编辑器(数组控制器过滤谓词或其他),请将按钮或菜单项的操作连接到编辑器视图的 -addRow: 操作。在运行时,单击此按钮将添加一个初始“规则”(遵循您在 IB 模板中指定的约束)。您甚至可以在 IB 本身中进行测试。

【讨论】:

+1 答案是“您需要调用addRow:”,但其他信息也非常有用。 :) 我有点同情,因为我很快就认识到了混乱的根源 - 我在第一次探索控件时亲自经历了它。 :-) 这是双重的:a)为什么这个“默认谓词”行为不正确,b)为什么它会在运行时消失? 同意;我花了一个月左右的时间弄清楚 NSPredicateEditor 是如何工作的。这不是一个非常完整的记录控制。

以上是关于NSPredicateEditor 只是不会出现的主要内容,如果未能解决你的问题,请参考以下文章

NSPredicateEditor,忽略没有搜索词的行?

将 NSPredicateEditor 添加到 NSScrollView 时出现 UI 故障

自定义 NSPredicateEditor

关闭 NSPredicateEditor 动画

NSPredicateEditor 的 UI 约定

使用 NSPredicateEditor 编辑 NSPredicate