2013-06-03 4 views
-2

Мне нужно подробное руководство по отправке уведомлений нескольким наблюдателям. Вот мой кодуведомление нескольких наблюдателей

-(void)viewDidLoad 

{ 

NSString *notificationName = @"MT"; 

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(useNotificationWithString:) 
               name:notificationName 
              object:nil]; 

} 

Это для текущего объекта Я хочу, чтобы отправлять уведомления на объекты другого класса тоже.

+0

Если вы в состоянии сделать это много. Вам просто нужно отправить уведомление о желании в качестве исходной части. – Anupdas

ответ

2

Вы не размещаете уведомление нескольким объектам. Вместо этого у вас есть несколько объектов, следящих за уведомлением, а затем, когда вы хотите, чтобы все они получили это уведомление, вы отправляете его в центр уведомлений. Центр уведомлений выполняет работу по информированию объектов наблюдения.

1

Добавить одного и того же наблюдателя для каждого объекта, где вы хотите получать уведомление. Затем отправьте уведомление где-нибудь, и все ваши наблюдатели получат его. Не забудьте позвонить [[NSNotificationCenter defaultCenter]removeObserver:self] в -(void)dealloc или в -(void)viewDidUnload методах каждого объекта.

1

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

Вы отправляете уведомление один раз с именем уведомления.

И добавить НАБЛЮДАТЕЛЬ во всех классах, которые будут соблюдать опубликованное уведомление.

Каждый из вашего класса, который вы хотите наблюдать будет иметь следующее:

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(useNotificationWithString:) 
               name:notificationName 
              object:nil]; 

Вы можете получить full notes here в компании Apple документации.

0

Вы должны добавить этот код в каждый класс каждого класса, который хочет получать уведомления.

и использовать следующий код для почтового уведомления для всех объектов:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MT" object:self] 
Смежные вопросы