iOS中通知中心的概念知识吧(objective - c版)


之前在公司的project中遇到了要用到通知的地方,解决后过了几个月了现在总结一些网上找的资料,在这里简单summary一下iOS中通知中心的概念知识吧(objective - c版)


一、什么事通知中心?

1)通知中心:一个应用程序只有一个通知中心(单例对象),在程序内部提供了消息广播的一种机制,负责信息的传递与交互。即通知中心就是一个信息传递者,把接收到的消息根据内部的一个消息转发表,将消息转发给需要的对象。


2)通知中心是基于观察者模式的,它允许注册,删除观察者。


3)一个通知中心NSNotificationCenter可以有很多的通知消息NSNotification,对于每一个NSNotification可以有很多的观察者Observe来接收通知。


重点用法:

二、创建通知中心(一个程序只有一个通知中心,可创建多次,反正都是同一个)

NSNotificationCenter *center = [NSNotificationCenter defaultCenter];


三、通知的发布(可以自定义通知,也可以是使用系统提供的通知)

[center postNotificationName:(NSString*) object:(id) userInfo:(NSDictionary*)];

或者

[center postNotificationName:(NSString*) object:(id)];


postNotificationName:通知的名称


object:通知的发布者


userInfo:通知的额外信息


四、注册通知监听器

[center addObserve:(id) selector:(SEL) name:(NSString*) object:(id)];


addObserve:监听器,即谁要接受这个通知,这里传入需要接受通知的对象。


selector:监听器接收到通知后调用这个函数进行处理,这里要注意将当前通知对象作为参数传入,类似于button的点击事件一样把button传入点击后执行的方法中。


name:所接受的通知的名称,只接收这个name的通知,如果为nil则接收全部通知。


object:通知发布者,只接受这个名称的对象所发布的通知,如果为nil,则接收人回想发布的通知。


五、取消注册通知监听器

1[[NSNotificationCenter defaultCenter] removeObserve:(id)];

    取消指定对象监听的全部注册监听。

2[[NSNotificationCenter defaultCenter] removeObserve:(id) name:(NSString *)];

    取消指定对象监听的指定发布者的指定名称的通知。

























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值