通知和单例

通知和单例

通知可以一对多的,发送通知(一个发送者,多个观察者)。
特别注意:在发送者发送通知的时候,必须得有观察者
发送者就是注册一个通知中心,以它为中心发送消息。
通过通知的名字,来判断是哪个通知。
如果使用完观察者,就需要移除观察者,防止再次使用通知,接受不到消息。
在发送者,发送通知之前,必须得有接受者。

通知中心:

 [[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;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值