我有NSSearchField
一个NSDictionaryController
. 在我的搜索字段的谓词格式中,我有这样的代码,这key contains $value
是什么意思?谓词格式(代码行)还有哪些其他替代方法?谢谢!
4 回答
快速搜索文档会在 Predicate Programming Guide 中找到这一章:
变量用 a 表示
$
(例如$VARIABLE_NAME
)。
我没有看到任何地方明确提到它,但这意味着不以 a 为前缀的标识符$
被视为键——即,由键值编码检索。谓词将匹配字典控制器中的那些对象,其值为 key
...</p>
CONTAINS
- 左侧表达式包含右侧表达式。
...包含的值$value
。
那是什么$value
?可可绑定参考解释说:
多值谓词绑定允许您创建一个搜索字段弹出菜单,该菜单预先填充了与谓词过滤器相对应的菜单项。每个谓词绑定对应于搜索字段弹出菜单中的一个条目。这个多值绑定由 NSSearchField 谓词绑定使用。
显示名称字符串用作菜单项标题。谓词格式是使用谓词编程指南中描述的谓词格式指定该菜单项的谓词的字符串。谓词格式字符串中出现的任何
$value
字符串都将替换为搜索字段的内容。
换句话说,一个 NSSearchFieldvalue
为它的谓词预定义了变量,以保存当前在该字段中的任何文本——即用户正在搜索的文本。
因此,例如,如果您使用格式创建谓词name contains $value
,并且用户搜索“Emily”,则该谓词将匹配那些name
包含(作为子字符串)字符串“Emily”的对象。
key
代表字典的Key,$value
代表输入的值NSSearchField
。
要从更多字段中搜索,您可以使用 || 和 && 在谓词格式中。
我不知怎的发现了!I 对于谓词格式,我只需要输入
value contains $value
让它工作。现在我明白了!谢谢大家的帮助!!!
foreach (var item in dictionary) {
cellValue.Text = item.Value.ToString();
}