通知中心NSNotificationCenter的使用

简介:

通知中心NSNotificationCenter的使用

Cocoa框架中,通知中心以及KVO都属于设计模式中的观察者.

 

Source

在使用通知中心之前,对通知中心类进行了简单的封装,以便可读性更强.

NotificationCenter.h + NotificationCenter.m

通知中心发送消息的核心为,发送消息需要一唯一标示符flag来确认接受消息的对象.通知中心只是中介,它起着发送消息的作用.

我们来给一个model对象注册通知中心,在这个对象初始化的时候就注册,这个对象在销毁的时候就移除.

 

Usage

以下是使用情况以及相应的打印信息.

用起来是不是很简单呢:).

 

Compare

通知中心与KVO的区别:

1. 发送机制的区别

通知中心自身就是中介者,两个对象之间的通信通过中介者这个桥梁来发送信息.发送方不需要注册任何的信息,所有的配置都由注册方控制.

KVO是两个对象之间直接进行通信,发送通知信息的一方(对象)的注册键值发生变化的时候,会发送信息给被通知方.发送方主动添加被发送方注册信息,被发送方还需要实现一个方法,两方之间都需要进行些配置,使用稍有不当就会导致崩溃.

通知中心 3者间的关系

KVO      2者间的关系

 

2. 使用的细节

KVO属于被动发送消息,发送消息方的值改变了(一般都是被动改变的),才会发送信息给被发送方,通知中心属于主动发送消息.

通知中心 主动

KVO      被动

 

3. 使用难易程度

通知中心简单暴力直白,KVO用着恶心,但恶心不代表不要用哦.

通知中心 简单

KVO      复杂

目录
相关文章
|
监控 iOS开发
IOS开发-KVO
观察者,观察对象属性的变化,当被观察者该属性发生变化时,观察者会接收到通知,可以在回调函数中做相应的处理
|
调度 iOS开发
iOS中通知中心(NSNotificationCenter)的使用总结
iOS中通知中心(NSNotificationCenter)的使用总结
126 0
iOS中通知中心(NSNotificationCenter)的使用总结
通知 NSNotificationCenter 详解
通知NSNotificationCenter详解(一)通知NSNotificationCenter详解(二)
735 0