簡體   English   中英

刪除NSNotificationCenter觀察者

[英]Remove NSNotificationCenter observer

我通過在ViewDidLoad中添加以下代碼來檢測鍵盤的顯示/隱藏:

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

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

盡管在某些時候我想刪除這些觀察者,而不用調用

 [[NSNotificationCenter defaultCenter] removeObserver:self];

因為這會刪除所有觀察者,並且我還有其他不想被刪除的觀察者。 如何只刪除這兩個?

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

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

使用官方文檔中所述NSNotificationCentreremoveObserver:name:object:方法,以刪除特定通知名稱的觀察者。

使用[[NsNotificationCenter defaultCenter] removeObserver:self name: UIKeyboardWillShowNotification object:nil]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM