2013-02-02 12 views
7

Ich bin das Zeigen/Ausblenden der Tastatur Erkennung, indem Sie diesen Code in das ViewDidLoad:entfernen NSNotificationCenter Beobachter

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(keyboardDidHide:) 
              name:UIKeyboardDidHideNotification 
              object:nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(keyboardWillShow:) 
              name:UIKeyboardWillShowNotification 
              object:nil]; 

An einem gewissen Punkt, obwohl ich diese Beobachter entfernen möchten, ohne

[[NSNotificationCenter defaultCenter] removeObserver:self]; 
Aufruf

weil dies alle Beobachter entfernt, und ich habe andere Beobachter, die ich nicht entfernt werden möchte. Wie kann ich nur diese beiden entfernen ??

Antwort

28
[[NSNotificationCenter defaultCenter] removeObserver:self 
               name:UIKeyboardDidHideNotification 
               object:nil]; 

[[NSNotificationCenter defaultCenter] removeObserver:self 
               name:UIKeyboardWillShowNotification 
               object:nil]; 
1

Mit der Methode des removeObserver:name:object: wie beschrieben in the official documentation, einen Beobachter für einen bestimmten Benachrichtigungsnamen zu entfernen.

1

Verwenden Sie [[NsNotificationCenter defaultCenter] removeObserver:self name: UIKeyboardWillShowNotification object:nil]

Verwandte Themen