NSNotification и NSThread - PullRequest
       16

NSNotification и NSThread

0 голосов
/ 25 ноября 2011

Я создаю объект в отдельном потоке, используя NSThread.

NSThread* myThread = [[[NSThread alloc] initWithTarget:self selector:@selector(createNewObject:) object:elements] autorelease];
[myThread start];  // Actually start the thread

Этот объект ожидает события.Когда это событие происходит, в центр уведомлений по умолчанию отправляется уведомление.

Мой AppController наблюдает за этим уведомлением и запускает селектор.

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
        [nc addObserver:self selector:@selector(myMethod:) name:MyNotification object:nil];

Вопрос: Способ( myMethod: ) из селектора, запущенного в главном потоке или в потоке сверху ( myThread )?

1 Ответ

2 голосов
/ 25 ноября 2011

Та же ветка, в которой вы публикуете уведомление.

В многопоточном приложении уведомления всегда доставляются в ветке, в которой было опубликовано уведомление, что может не совпадать с темой, в которойнаблюдатель зарегистрировался сам.( Источник )

Сноска: Объекты не могут ждать событий.Объекты просто существуют.Методы могут ждать событий.

...