Какао - NSThread и первый ответчик - PullRequest
0 голосов
/ 10 января 2011

Когда я запускаю второй фоновый поток и приостанавливаю основной поток, мой Первый ответчик все еще будет работать?Например, у меня есть метод перезаписи -flagsChanged, и мне было интересно, будет ли он по-прежнему активен, если основной поток отключен.

Спасибо,

Кевин

1 Ответ

4 голосов
/ 10 января 2011

Не приостанавливайте основной поток, так как основной поток отвечает за обработку событий , и пользовательский интерфейс вашего приложения перестает отвечать на запросы. Если основной поток приостановлен, он не будет обрабатывать события, поэтому он не будет отправлять ключевые события первому респонденту.

Если вы считаете, что вам нужно приостановить основной поток, вам, вероятно, нужно изменить дизайн программы, чтобы поведение, которое требует спящего режима (если оно требует спящего режима), было смещено во вторичный поток. Если вам нужно обновить интерфейс пользователя из вторичного потока, вы должны использовать -performSelectorOnMainThread:withObject:waitUntilDone:.

...