iOS的通知就好比c语言中的函数回调。设置好触发事件和相应事件,这就是一个很好用的方式,是多个控制器中常用的一种方式。
使用方法:首先设置相应事件
1、在要响应的控制器中注册监听者
//注册监听者。
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(goChange:) name:@"ChangeColor" object:nil]; //收到通知后,执行方法:goChange: name关键字是区分监听使用的,意思就是可以有多个响应事件,每个响应事件根据name关键字对应一个触发事件
2、在要触发事件的控制器添加触发事件
UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; //产生随机颜色
NSDictionary *dic = [NSDictionary dictionaryWithObject:color forKey:@"color"];
[[NSNotificationCenter defaultCenter]postNotificationName:@"ChangeColor" object:self userInfo:dic];
响应函数样式:
-(void)goChange:(NSNotification *)notification
{
//拿到通知内容。
NSDictionary *dic = [notification userInfo];
UIColor *color = [dic objectForKey:@"color"];
self.view.backgroundColor = color;
}