通知
//观察A,如果A发生变化,需要B去做一些事情,就给B注册观察者,分两种情况:第一种,不传递参数,只是通知B,A发生了变化
A的代码:
[[NSNotificationCenter defaultCenter] postNotificationName:@"change" object:nil];
B的代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleCheckSuccess) name:@"change" object:nil];
-(void)handleCheckSuccess {
//实现B要实现的操作
}
第二种情况:通知B,A发生了变化的同时还传递了参数
A的代码:
[NSNotificationCenter defaultCenter] postNotificationName:@"change" object:nil userInfo:{@“key”:@“value"}];
B的代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleCheckSuccess) name:@"change" object:nil];
-(void)handleCheckSuccess:(NSNotification *)noti
{
NSDictionary *dic = noti.userInfo;
NSString *string = dic[@“key”]; //string就是传递过来的value
//实现B要实现的操作
}