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)