如何以编程方式重置cocoa NSSearchField?

e.J*_*mes 8 cocoa

我有一个简单的cocoa用户界面,其中包含项目列表和搜索字段,分别使用NSTableView和NSSearchField实现.数据源和所有绑定都已设置好并且运行良好.我在列表中看到了我的数据,我可以通过在搜索字段中输入字符串来搜索它.当我输入更多文本时,列表中的项目数量会变得越来越小,最终会缩减为我正在搜索的项目.

现在,如何清除搜索字段中的文本并强制列表恢复正常?我可以通过手动清除文本(使用键盘)来实现这一点,但是当我尝试以编程方式执行此操作时,列表中的隐藏项目不会返回.

我正在使用这个:

[searchField setStringValue:@""];
Run Code Online (Sandbox Code Playgroud)

清除搜索字段中的文本,但不会重置列表.

有任何想法吗?是否有一个简单的[searchField reset]方法,我在文档中找不到?

wfa*_*arr 9

我想到了.以下代码有效:

[searchField setStringValue:@""];
[[[searchField cell] cancelButtonCell] performClick:self];
Run Code Online (Sandbox Code Playgroud)


e.J*_*mes 7

我想到了.以下代码有效:

[searchField setStringValue:@""];
[[[searchField cell] cancelButtonCell] performClick:self];
Run Code Online (Sandbox Code Playgroud)