У меня есть NSSearchField, метод действия которого выполняет весь поиск, анализируя аргумент отправителя (строка).Как не замораживать NSSearchField?
В настоящее время поиск материалов (загрузка большого массива) - это интенсивный процессор, который позволяет моему полю поиска замораживаться в течение нескольких секунд.
В других случаях я бы отсоединил другой NSThread, чтобы предотвратить зависание моего графического интерфейса. Но в этом случае это невозможно, потому что я бы отключил другой («поиск») поток каждый раз, когда пользователь вводит другую букву в поле поиска.
Есть ли другой способ сохранить мой NSSearchField от замерзания?
BTW: Я думаю, нет, потому что поле Seach даже Developoer ДОКУМЕНТАЦИЯ в замораживает все время :)
Не нужно понижать уровень до уровня ниже NSOperation/NSOperationQueue. Однако не забудьте обновить свой пользовательский интерфейс (с результатами поиска) в основном потоке. Если у вас много обновлений пользовательского интерфейса, * это * может блокировать основной поток и блокировать пользовательский интерфейс, поэтому попробуйте объединить обновления результатов поиска (а не обновлять каждый раз, когда приходит один результат). –