iOS 趣谈设计模式:通知

【前言介绍】

iOS的一种设计模式,观察者Observer模式(也叫发布/订阅,即Publich/Subscribe模式)。观察者模式,包含了通知机制(notification)和KVO(Key-value-observing)机制。在这本文中,我们将介绍在日常项目当中经常使用到的通知机制这一种设计模式。

通知机制

委托机制是代理“一对一”的对象之间的通信,而通知机制是广播“一对多”的对象之间的通信;

一、是什么?【生活问题例子】

“短信天气预报”

当A类发送一条信息给通知中心时,注册为用户(观察者)的B类群就会收到相应的通知,并作出反应。

二、有什么用?【代码中的应用】

在不同类之间如何传递数据?

有几种方法:属性传递、代理协议,另外就是通知。

通知:在A类中创建的方法,B类中执行,且可以使用该通知携带数据传递给对方;

三、有什么不同?【与其他“通知”的不同?】

经常提到的通知,有“广播通知”、“本地通知”、“推送通知”

本文所介绍的就是广播通知,是实现观察者模式的一种机制,可以在一个应用中的多个对象之间进行通信传递数据。

而本地通知和推送通知主要是给用户发送“通知提示”,例如警告提示、声音、震动以及如图标上的红色数字提示。

第一种由“本地发送通知”给用户,第二种由第三方应用