Итак, у меня есть NSSearchField, подключенный напрямую к NSArrayController через привязки, привязанные к filterPredicate, так что без какого-либо кода пользователь может просто ввести NSSearchField и отфильтровать список объектов в представленном ему NSArrayController. в интерфейсе (NSCollectionView, если быть точным).
NSSearchField подключен для обеспечения оперативного поиска, так что NSCollectionView фильтруется мгновенно по мере ввода пользователем, а не после ожидания в течение короткого периода времени для прекращения ввода пользователем.
Однако проблема в том, что это делает интерфейс действительно медленным. Набор текста значительно задерживается, на 0,5-1 секунды, и кажется, что NSCollectionView пытается анимировать каждую и каждую перестановку элементов для каждой части строки поиска, которую вводит пользователь.
Мне бы хотелось, чтобы поиск был активным, а ввод текста в поле поиска - плавным, а результаты - фильтрацией как можно быстрее. Есть ли способ сделать это с помощью привязок, или мне нужно будет вставить какой-то специальный код, который запускает filterPredicate в отдельном потоке?
(Обратите внимание, что у меня есть настраиваемый алгоритм сортировки, настроенный на NSArrayController, и удаление его, похоже, немного помогает с задержкой, но не полностью.)