1. 通知中心认识post
通知中心其实是在程序内部提供了消息广播的一种机制。通知中心不能在进程间进行通讯,它只能进行程序内部通讯,不能跨应用程序进程通讯。通知中心,当通知中心接受到消息后会根据设置,根据内部的一个消息转发表,将消息转发给订阅者。通知中心是基于观察者模式的,它容许注册、删除观察者。通知中心与代理模式相似,均可以实现多个对象间通讯,通知中心能够将一个通知发送给多个监听者,而代理模式每一个对象只能添加一个代理。但不管是那种模式,都是一种低耦合的设计,实现对象间的通讯。spa
2. 通知中心的使用设计
第一步:注册通知中心(就是谁去接受广播)代理
// 参数1 谁去就收广播的消息server
// 参数2 接收到广播后要执行的操做对象
// 参数3 接受哪一个广播(也是就广播的标识)进程
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (runSel:) name:@"MCJ" object:nil];rem
第二步:发送广播 这个方法通常在其余对像有什么变数时 在其余对象里写it
// 参数1 给广播添加标识(在接受广播的地方,能够经过这个值区分不一样的广播)io
// 参数 2 须要传递的参数 没有的话能够传nil
[NSNotificationCenter defaultCenter] postNotificationName:@" MCJ" object:array];
第三步: 实现接收到广播后要执行的方法,若是有参数须要加上(NSNotification *)sender
sender.object 就是咱们传过来的参数
- (void)runSel: (NSNotification *)sender {
NSArray *array =
sender.object;
_nameLable.text = array[0];
_passwordLabel.text =
array[1];
self.view.backgroundColor
= [UIColor redColor];
}
第四步:移除通知(有两种方式)
- (void)dealloc {
// 移除指定的通知中⼼心
[[NSNotificationCenter
defaultCenter]
removeObserver:self
name:@"MCJ" object:nil];
// 移除全部的通知中⼼心
[[NSNotificationCenter
defaultCenter]
removeObserver:self];
}