NSThread Ошибка - PullRequest
       12

NSThread Ошибка

0 голосов
/ 06 июня 2009

У меня два контроллера uiview. Я использую NSThread в первом viewcontroller, и он отлично работает. Иногда поток работал в firstviewcontroller, тогда я хочу перейти на Secondviewcontroller. Это действие останавливает мой поток firstviewcontrollr ..

Как я могу это исправить ... Кто-нибудь может мне помочь? Заранее спасибо

1 Ответ

1 голос
/ 06 июня 2009

Было бы хорошо, если бы вы могли прояснить вопрос, потому что трудно понять, что именно вы хотите сделать и в чем проблема. В общем случае код пользовательского интерфейса должен всегда выполняться в основном потоке. Это ясно указано в документации по Какао, и вам не удастся создать несколько потоков, пытающихся управлять пользовательским интерфейсом.

Если вы хотите запускать код в других потоках и оказывать на них влияние на пользовательский интерфейс, вам необходимо реализовать механизмы для передачи информации в основной поток. Один метод, который пригодится - это NSObject

performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait;

Если вы хотите использовать уведомления, вы также должны отправлять их в основной поток. Легко запутаться в ошибках, если вы не будете придерживаться этого принципа (хотя на первый взгляд может показаться, что все работает).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...