NSNotificationCenter的简单使用总结

NSNotificationCenter消息通信机制介绍(KVO)
作用:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的。每一个应用都有属于自己的一个通知中心,类似于一个公告栏,每一个类都可以在上面发布消息。观察者则通过发布的通知的名字观察是否有它在观察的信息。每当有新消息发布的时候,通知中心则把消息发布给已经注册了的观察者。观察者收到消息之后就能作出相应的反应。

一、注册通知:即要在什么地方接受消息      

<pre name="code" class="objc">[[NSNotificationCenter defaultCenter]
			addObserver:self 
<span style="white-space:pre">			</span>selector:@selector(mytest:) 
<span style="white-space:pre">			</span>name:@" mytest" 
<span style="white-space:pre">			</span>object:nil]; 
 

参数介绍:

addObserver: 观察者,即在什么地方接收通知;

selector: 收到通知后调用何种方法;

name: 通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。


二、发送通知:调用观察者处的方法

[[NSNotificationCenter defaultCenter] 
<span style="white-space:pre">			</span>postNotificationName:@"mytest"
<span style="white-space:pre">			</span>object:searchFriendArray  
<span style="white-space:pre">			</span>userInfo: dic];
参数介绍:

postNotificationName:通知的名字,也是通知的唯一标示,编译器就通过这个找到通知的。

object:传递的参数

userInfo:  可选择参数。接受一个字典型变量。主要用于传递多个变量,即可以把多个变量包装成一个字典型变量,再通过通知中心传递给观察者。

使用NSNotificationCenter的注意点:

Q1:如果使用NSNotificationCenter在不同的类之间通讯却无法得到正确的结果。

解决方案:

注册观察者后要成功监听到通知中心的信息的时候一定要在消息发布之前注册,而不能在发布后才注册,如果出现这种问题要检查下通知信息流通的逻辑顺序有没有问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值