通知
通知:
它可以一对多,一条消息可以发送给多个消息接受者
通知需要有一个通知中心:NSNotificationCenter,自定义通知的话需要给一个名字,然后监听。
优点:通知的发送者和接受者都不需要知道对方。可以指定接收通知的具体方法。通知名可以是任何字符串。
缺点:较键值观察(KVO)需要多点代码,在删掉前必须移除监听者
允许在对象间传递信息,因为通告中可以包含一个与事件相关的字典
- (void)viewDidLoad {
[super viewDidLoad];
//创建通知发布者
Sender *sender = [[Sender alloc]init];
//创建通知监听者
Listen *listen = [[Listen alloc]init];
//创建通知中心
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
//监听通知
/*
1.谁进行监听
2.当前监听对象的那个方法进行监听
3.监听哪个通知
4.监听哪个对象发送的通知
*/
[center addObserver:listen selector:@selector(myListen:) name:@"abc" object:nil];
//发布通知
[center postNotificationName:@"abc" object:sender userInfo:@{@"wyc":@"xxx"}];
//移除监听
[center removeObserver:listen];
}

浙公网安备 33010602011771号