1.通知是多对多的模式 可以在项目任意一个类中接收到通知
//
监听到了当前所有的
textField
的值的改变 这里是接收系统的通知
[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector
:
@selector
(changeValueAction:)
name
:
UITextFieldTextDidChangeNotification
object
:
nil
];
2.通知监听键盘弹出 隐藏事件 注意在这里获得键盘弹出的rect 要转换一下
[[
NSNotificationCenter
defaultCenter
]
addObserver
:
self
selector
:
@selector
(keyBoardWillHiden:)
name
:
UIKeyboardWillHideNotification
object
:
nil
];
CGRect
rect = [dic[
@"UIKeyboardFrameEndUserInfoKey"
]
CGRectValue
];
3.iOS中通知的机制是同步的,默认情况下,发一个通知,会阻塞后面的代码,直到所有监听通知的类都执行完响应,如果希望异步处理,那么需要
在添加观察者的方法中开启新的线程,通知一般用于解耦合而不是实现异步处理。
4.通知不允许使用系统的类接收通知