2010-04-08 4 views
0

Я стараюсь размещать уведомления без особого успеха! Я могу сделать это ОК для клавиатуры без проблем, но теперь пытаюсь обычай один, как следующим образом:Уведомление не принимается

В моем rootview я это

.h

-(void) allowEdits:(NSNotification *)notification; 

.m

//this section is run in method to present the passcode entry form 


[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(allowEdits:) name: @"PasscodeOK" object:nil]; 

PasscodeEntryViewController *vc = [[PasscodeEntryViewController alloc] 
init]; 

[self presentModalViewController: vc animated:YES]; 

[vc release]; 


// and this is the response to the notification 

-(void) allowEdits:(NSNotification *)notification { 

    NSLog(@"notification fired"); 
} 


// in the vc instance I have this to notify passcode was ok 

[[NSNotificationCenter defaultCenter] 
postNotificationName:@"PasscodeOK" object:nil]; 

[self dismissView]; 

Но allowEdits никогда не называется?

ответ

0

Не могли бы вы попробовать разместить свое уведомление с:

[[NSNotificationCenter defaultCenter] postNotificationName:@"PasscodeOK" object:self]; 

Как отправитель взять Vc экземпляр (Self), а не ноль. Возможно, это решение вашей проблемы.

+0

Привет, да, пробовал это раньше, но без радости! Проблема заключается в том, что метод вызова находится в родительском элементе, и уведомление отправляется в дочернем элементе. Из того, что я вижу, addObserver в родительском объекте просто игнорируется! Это сводит меня с ума!!! Я просто не понимаю, почему это не работает! – user7865437

+0

Ну, баггер! Я нашел это после всего этого времени! Когда я вводил уведомления несколько недель назад, я включил в метод viewDidDisappear вызов для удаления наблюдателей! Поэтому не успел я добавить его ... он был удален! DOH! – user7865437

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