通知和单例
2015-10-13 20:25
253 查看
通知和单例
通知可以一对多的,发送通知(一个发送者,多个观察者)。特别注意:在发送者发送通知的时候,必须得有观察者
发送者就是注册一个通知中心,以它为中心发送消息。
通过通知的名字,来判断是哪个通知。
如果使用完观察者,就需要移除观察者,防止再次使用通知,接受不到消息。
在发送者,发送通知之前,必须得有接受者。
通知中心:
[[NSNotificationCenter defaultCenter] postNotificationName:@"Baby哇哇大哭" object:nil userInfo:@{@"content":@"娃娃哭了"}];
添加观察者:
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getMike:) name:@"Baby哇哇大哭" object:nil] ;
移除观察者:
[[NSNotificationCenter defaultCenter] removeObserver:self];
单例
单例:一个例子(defaultCenter),单例是一个类方法
单例是指保证对象,只初始化一次的方法
为什么使用单例:是为了防止对象里面的数据被再次初始化而清空
#import "Animal.h" //static 告诉系统 不要再创建这个对象了 这是一个 静态变量 static Animal *animal = nil;//保证对象的唯一性 @implementation Animal + (id) defaultManager{ // 保证只会创建一次的谓词(条件) // 保证 在多线程里面 对象只初始化一次 static dispatch_once_t onceToken; // //保证在多线程里面对象值初始化一次 dispatch_once(&onceToken, ^{ animal = [[Animal alloc]init]; }); return animal; }
相关文章推荐
- Ant编译问题四:****使用或覆盖已过时的API
- iOS序列化与反序列化
- iOS之OC随笔-属性修饰符
- lwip【5】 lwIP配置文件opt.h和lwipopts.h初步分析之二
- lwip【4】 lwIP配置文件opt.h和lwipopts.h初步分析之一
- 使用MPMoviePlayerControll播放视频
- iOS 常用名词
- vim tab设置为4个空格
- iOS第三方库
- Android 4.2 Wifi Display 之 Settings 源码分析(一)
- 第七周-项目3 - 负数把正数赶出队列
- 操作系统_优先级反转、优先级继承
- keystone 认证分析
- gson解析json
- JavaScript window.location物
- curl网站开发指南
- 有关http的内容
- [Java]Http报文详解
- 二分图的最大匹配
- lwip【3】LWIP ethernetif.c分析