1.添加監聽者
2.在適當的時候發出通知
3.監聽者對象--> 方法 用來處理接收到通知之後的操作
4.當監聽者對象被銷燬的時候,從通知中心移除監聽者
代理: 同一時間 只能 通知到一個對象 (一對一)
通知: 可以通知到多個對象 (一對多)
發出通知的名稱要和註冊監聽者時填寫的通知名稱要保持一致
[NSNotificationCenter defaultCenter] post....];
誰要接收消息,就註冊成爲監聽者
[NSNotificationCenter defaultCenter] addObserver....]
******發出通知要記得在最後要移除通知******
移除通知
一般在監聽器銷燬之前取消註冊(如在監聽器中加入下列代碼):
- (void)dealloc {
//[super dealloc];
非ARC中需要調用此句
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
但是 如果是系統發出的通知就不要 移除通知
// 監聽鍵盤將要改變frame
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWillChangeFrame:", name: UIKeyboardWillChangeFrameNotification, object: nil)
// 表情鍵盤刪除按鈕通知
NSNotificationCenter.defaultCenter().addObserver(self, selector: "emoticonDeleteButton", name: WBEmoticonDeleteButtonNoti, object: nil)
// 表情鍵盤按鈕通知
NSNotificationCenter.defaultCenter().addObserver(self, selector: "emoticonButtons:", name: WBEmoticonButtonsNoti, object: nil)