У меня есть NSTableView, который содержит несколько столбцов, заполненных данными. Как настроить панель поиска, которая может фильтровать строки на основе содержимого определенного столбца? Я ищу тип вещей, который делается с помощью Spotlight в Finder или в строке поиска в iTunes, которая может фильтровать песни по метаданным.Как вы получаете возможность поиска, похожую на Spotlight или iTunes?
ответ
Может ли ваш источник данных управляться NSArrayController?
Подложки 2 standard. Первый (pre-Tiger) метод заключается в подклассе NSArrayController, переопределяя arrObjects. Второй (пост-тигр) должен связывать предикаты NSSearchField с фильтром фильтра NSArrayController. В любом случае привяжите свойства вида к ключу контроллера arrangedObject
(например, привяжите «имя» NSTableColumn к ключу контроллера arrangedObjects.name
и привяжите содержимое NSTableView к arrangedObjects
). Возможно, вы захотите ознакомиться с writing predicates.
Возможности «Spotlight» действительно предоставляются вам с помощью API SearchKit, хотя для простого случая, как то, что вы описываете NSPredicate, вероятно, будет лучшим выбором. Если кому-то интересно, я написал презентацию SearchKit для CocoaHeads, вы можете take a look at here.
- 1. Как вы получаете время воспроизведения трека iTunes с помощью applescript?
- 2. Как вы получаете редактор дескрипторов для перетасовки всех песен iTunes?
- 3. Как вы получаете Наблюдаемое событие?
- 4. Как вы получаете файл на C++?
- 5. как вы получаете Детали предложения на C#
- 6. Как вы получаете указатель на раздел .text?
- 7. Как вы получаете nano/pico на OpenSolaris?
- 8. Как вы получаете корневой сайт?
- 9. Как вы получаете «это» функции?
- 10. Как вы получаете временные пути?
- 11. Как вы получаете значение «embed»?
- 12. Как вы получаете длину строки?
- 13. Как вы получаете дочерние узлы?
- 14. Как вы получаете указатель на то, что вы разыменовали?
- 15. Как вы получаете ссылку на URL с помощью javascript?
- 16. Как вы получаете неподписанный длинный конец строки?
- 17. Как вы получаете ссылку или экземпляр Activity, который запустил IME?
- 18. Как вы получаете контроль/просмотр или страница не очищена xaml?
- 19. Как вы получаете необработанный адрес функции?
- 20. Как вы получаете payKey от транзакции?
- 21. "Spotlight" как компонент для Swing?
- 22. Как вы получаете и устанавливаете переменную сеанса?
- 23. Когда вы получаете Mouse.getstate(). X или Y как отрицательный?
- 24. Как далеко вы получаете покрытие кода?
- 25. Как вы получаете детей виджетов в Qt?
- 26. Как вы получаете НАПРАВЛЕНИЕ PDF является L2R или R2L
- 27. Как вы получаете или генерируете URL-адрес объекта в ведре?
- 28. Как вы получаете детей от Tk Widget?
- 29. Как вы получаете другое Контекстное меню, если вы Lt-Click или Rt-Click на значке уведомления?
- 30. Использование NSUserActivity или Core Spotlight
Имейте в виду, что вам не нужно использовать привязки для использования NSPredicate, он работает точно также и на обычном объекте NSArray, если вы используете методы источника данных для заполнения табличного представления. –