2009-02-15 3 views
8

У меня есть простой пользовательский интерфейс какао со списком элементов и поле поиска, реализованное с использованием NSTableView и NSSearchField соответственно. Источник данных и все привязки настроены и работают хорошо. Я вижу свои данные в списке, и я могу выполнить поиск через него, набрав строки в поле поиска. Когда я печатаю больше текста, количество элементов в списке становится все меньше и меньше, в конечном итоге сводится к одному элементу, который я искал.Как сбрасывать программный код какао NSSearchField?

Теперь, как я могу очистить текст в поле поиска и заставить список вернуться к нормальной жизни? Я могу это сделать, очищая текст вручную (используя клавиатуру), но когда я пытаюсь сделать это программно, скрытые элементы в списке не возвращаются.

Я использую это:

[searchField setStringValue:@""]; 

очистить текст в поле поиска, но не сбрасывает список.

Любые идеи? Есть ли простой метод [searchField reset], который я просто не могу найти в документации?

ответ

8

Я понял это. Следующий код работы:

[searchField setStringValue:@""]; 
[[[searchField cell] cancelButtonCell] performClick:self]; 
6

Я понял. Следующий код работает:

[searchField setStringValue:@""]; 
[[[searchField cell] cancelButtonCell] performClick:self]; 
+0

Я ненавижу оставлять вопросы «без ответа» только потому, что у меня нет возможности пометить мой собственный ответ как принятый. Может кто-то, пожалуйста, повторите мой ответ как свой? –

+0

Просите, и вы получите. – wfarr

3

[[[searchField cell] cancelButtonCell] performClick:self]; может работать, но это на самом деле кажется, что там должно быть «правильное» решение. Является ли ваш вид таблицы фактически привязанным к значению searchField или привязан к некоторому промежуточному объекту, который не обновляется, когда вы произвольно устанавливаете содержимое SearchField в пустую строку (но который обновляется при вводе из-за способа привязки установлены в нибе)?

+0

Согласен, но я ничего не смог найти. Когда я отвечал за поиски ответа, было несколько других разработчиков, задающих тот же вопрос. –

+0

У меня есть как поле поиска, так и табличное представление, связанное с объектом NSArrayController, который поставляет данные. –

Смежные вопросы