关于iOS中的通知中心(NSNotificationCenter)

本文介绍了iOS中的通知机制,包括本地通知和远程通知,并澄清了它们与通知中心的混淆概念。通知中心是iOS程序内部采用观察者模式实现的消息广播机制,用于解耦对象间的通信。通过NSNotification和NSNotificationCenter类,我们可以注册接收通知并发送通知。文中详细阐述了添加、移除观察者的方法以及发送通知的几种方式,并提供了简单易懂的使用示例。
摘要由CSDN通过智能技术生成

先说一下什么叫通知:
iOS中的通知机制又叫消息机制,其包括2类:一类是本地通知;另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以打开应用程序,但是两种通知的实现原理却完全不同.

那么什么是通知中心呢:
对于初学者,往往会把iOS中的本地通知,推送通知和iOS通知中心的概念弄混.其实二者之间并没有任何关系,事实上它们都不属于一个框架,前者属于UIKit框架,后者属于Foundation框架.

通知中心实际上是iOS程序内部之间的一种消息广播机制,主要为了解决应用程序内部不同对象之间解耦而设计.它是基于观察者模式设计的,不能跨应用程序进程进行通信,当通知中心接收到消息之后会根据内部的消息转发表,将消息发送给订阅者.下面是一个简单的流程示意图:

通知中心和协议代理等传值有什么区别:
如果我们现在好几个界面又要传递同一个值,也就是说我们当前这个界面都要得到另一个界面给它传值,用代理的话那我们shi’b是不是要把那些界面都要实现本界面都要实现本界面的协议才能取到值?这是效率非常低下的一种做法,要实现数据一对多的情况下,通知中心是一个很好的解决方案.
上图中黄色的线代表addObserver也就是添加观察者,当数据发生改变的时候通过紫色的线也就是postNotification发送通知,当我们的通知中心发送了通知的时候,所有的addObserver都能接收到通知.

了解通知中心需要熟悉NSNotificationCenter和NSNotification两个类:

NSNotificationCenter:是通知系统的中心,用于注册和发送通知,下表列出常用的方法。


方法1
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aNa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值