NSTask или NSThread?

У меня есть код, прикрепленный к NSTimer. Примерно 5 раз в секунду он взаимодействует с другим приложением (эмулируя нажатия клавиш) и при необходимости выдает NSNotification, который обрабатывается другим фрагментом кода.

Пока код таймера работает, пользовательский интерфейс не отвечает, поэтому я не могу включить кнопку «стоп», которая останавливает таймер.

Как мне справиться с этим? Отдельный процесс (NSTask, верно?) или поток? Помните, что в непредсказуемое время код таймера должен будет отправить некоторую информацию обратно для обработки.

Спасибо.


person Ben Packard    schedule 02.05.2010    source источник


Ответы (1)


Запустите его в отдельном потоке. Время от времени он может сообщать об этом пользовательскому интерфейсу с помощью метода performSelectorOnMainThread:.

person Marcelo Cantos    schedule 02.05.2010