OC语言中的通知
来源:互联网 发布:谷歌访问助手mac版 编辑:程序博客网 时间:2024/05/19 14:38
通知
通过学习KVO我们发现KVO是一种简单的观察者设计模式,涉及到2个对象,分别是观察者和被观察者。这种方式实质有很大局限性,那么OC的Foundation框架,在基于KVO的基础上又为开发者提供了一种新的观察者设计模式,即通知。
通知是一种发送给一个或者多个观察者用来通知其在程序中发生了某个事件的消息。它是一种程序中事件的发起者或者是处理者和其他想要知道该事件的对象的沟通的一种方式。消息的接受者,即观察响应该事件来变换自己的UI、行为或者状态。
在OC中,使用NSNotification类来表示一个通知。
// 初始化一个NSNotification类的实例对象// NSNotification *notification1 = [NSNotification notificationWithName:@"通知名称" object:self];// NSNotification *notification2 = [NSNotification notificationWithName:@"通知名称" object:self userInfo:@{@"content":@"jay onliving"}];
其中:
1.name:表示通知名称,最好用英文名,用来识别通知对象
2.object:表示通知的发起人
3.userInfo:表示通知的内容
在现实生活中,我们的邮件都经过邮局发送给接收人。在OC中也一样,Foundation框架定义了一个单例类,通知中心NSNotificationCenter来统一发送通知的实例对象给观察者。
//通知中心 单例类 NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; [center postNotification:notification1];//简便写法 [center postNotificationName:@"通知名称" object:self]; [center postNotificationName:@"通知名称" object:self userInfo:@{@"content":@"jay onliving"}];
建立通知发送机制
1.注册相关监听者
2.在需要的时候,被监听的对象去通知中心发送通知
3.在dealloc方法中,移除通知
0 0
- OC语言中的通知
- oc语言 通知
- OC中的通知
- OC中的通知
- OC语言中的字典
- OC语言中的方法
- OC语言中的self
- OC语言中的继承
- OC语言中的protocol
- OC语言中的block
- OC-通知
- OC-通知
- OC-通知
- OC语言之OC中的私有方法
- OC语言中的内存管理
- OC语言中的block数据类型
- OC语言中的内存管理
- 关于OC 语言中的协议
- 数组概述+数组排序+数组查找-第5天
- 单例模式的两种实现方式
- CSS3过渡和动画
- jquery获取屏幕高度
- js运算符|| &&
- OC语言中的通知
- MyEclipse 创建基于maven的Web Project工程的若干问题解决方法
- HALCON初步:文件夹遍历,文件筛选,文件名拆分,图片读取及保存
- Android studio使用greenDao
- UVa 11059 最大乘积(枚举)
- ThinkPHP的RBAC权限控制
- apk反编译详解
- 翻转单链表
- Implement Stack using Queues