1.基础概念
iOS的消息通知机制可以在项目中实现不同对象的传值。
发布者需要向通知中心发布通知,观察者(observer)需要向消息通知中心进行注册,在发布者发布通知之后,通知中心就会将该通知再发给观察者。
消息通知机制算是同步的,只有当发布者发布通知之后,观察者才能从通知中心接受到该通知。
消息通知机制可以应用于任意时间和任何对象,发布者发布一个通知,可以有多个观察者接受,所以通知具有广播的性质。
需要注意,观察者向通知中心注册以后,在不需要接受通知时需要向通知中心注销,否则就会造成内存泄露。
举个小栗子帮助理解消息通知机制:
通常我们在第一次安装一个iOS app的时候,通常都会有一个提示框询问我们是否接收该app的通知推送,当我们选择<允许>的时候,我们注册成了该app的观察者(observer),而该app的管理人员则是发布通知者,同步性指当该app的管理人员发布通知后我们才能接受到通知,广播性指只要是选择<允许>的用户都可以收到该app 的管理人员发布的通知,具有一对多的性质。
2.通知主要类
NSNotificationCenter: 通知中心类,只能通过[NSNotificationCenter defaultCenter] 的单例模式获取,而这个通知中心的对象会一直存在于应用的生命周期中。
NSNotification:通知消息类,这是消息数据携带的载体,通过它,可以把消息内容传递给观察者。
3.使用方法
3.1发送通知