NSNotificationCenter: пройти Уведомление между 2 классами - PullRequest
2 голосов
/ 05 июля 2010

У меня есть 2 класса.

class1 получает некоторую информацию через сеть.когда приходит одна из этих сведений, class1 должен отправить уведомление class2.

Я понял это так, что мне нужно поместить

[[NSNotificationCenter defaultCenter] postNotificationName:at"anyUserNotification" object:class2];

в class1

[[NSNotificationCenter defaultCenter] addObserver:self selector:atselector(anyInteraction:) name:dontKnowTheSense object:dunno2];

Понял ли я объект: class2 в правом пост-уведомления?если да: возможно ли сделать анонимное уведомление, чтобы отправляющий класс не знал, какие и сколько классов прослушивают?или - по крайней мере, я так думаю, правильно ли я понял все уведомление?

кроме уведомления мне не нужно передавать какие-либо данные, но в одном случае было бы полезно передать перечисление

Так, кто-нибудь может мне помочь?

Кстати: я не могу найти способ опубликовать at на этом windows-pc, и я не знаю, почему он не отступил в коде, я думаю, что я сделал 4 пробела

1 Ответ

3 голосов
/ 05 июля 2010

Объект не является обязательным аргументом, вы можете установить его равным nil или объекту, отправляющему уведомление.

[[NSNotificationCenter defaultCenter] postNotificationName:@"NotificationName" object:notificationSenderOrNil];

При прослушивании вы можете фильтровать, чтобы сделать что-то только для уведомления, отправленного конкретным отправителем.1004 *

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sel) name:@"NotificationName" object:notificationSenderOrNil];

И вы можете передать свои данные в словаре с аргументом userInfo: *. 1007 *

Это нормально?

...