2011-01-10 2 views
0

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

Спасибо,

Кевин

ответ

4

Не останавливайтесь основной поток начиная с the main thread is responsible for handling events и приложения пользовательского интерфейса будет безответственность. Если основной поток приостановлен, он не будет обрабатывать события, поэтому он не будет отправлять ключевые события первому ответчику.

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

Смежные вопросы