2010-12-18 68 views
2

在當執行方法的類,我已經把這個:通知沒有得到所謂的

[[NSNotificationCenter defaultCenter] postNotificationName:@"locationFromZipFound" object:array]; 

,並在這我想收到通知之類的我有這樣的:

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

問題是,這是從未被稱爲:

-(void)getZipLocation:(NSNotification *)notification; { 
NSLog(@"Zip received and put into array!"); 
NSArray *location = [notification object]; 
} 

任何想法? 在此先感謝。

回答

1

我複製並粘貼你的代碼,它對我很好。 我把postNotification放在一個按鈕上,addObserver放在viewDidAppear:animated上。

+0

感謝您的幫助。我通過在'viewDidLoad'中註冊通知來實現它。 – 2010-12-18 17:32:13

2

沒關係!我試圖用一種方法註冊通知,而且看起來好像不是那樣。我只是在viewDidLoad註冊通知,所有似乎都很好!

+1

請確保你確定有多次調用該方法,因爲每次調用viewDidLoad時它都會再次註冊......當您在屏幕上看到內存警告時會發生這種情況,那麼它將轉儲視圖並重新當你回到屏幕時加載它。 – 2010-12-18 19:48:55

+0

@Kendall好點!如果我把它放在方法中,似乎沒有註冊通知的任何原因? – 2010-12-18 19:51:06

+0

這取決於您將其放入哪種方法,它可能是在課程嘗試註冊之前觸發通知。把它放在viewDidLoad中沒有什麼問題,只是意識到它可能會被多次調用。 – 2010-12-19 07:05:29

相關問題