这张图是iOS的通知的原理
1..通知如同平时听得广播一样,发散出来,谁能接收到就算谁的
2..接收通知,要在接受类注册观察者,以用来接收通知
3.发送完通知,要在dealloc中释放通知
4..通知可以传递所有的对象,
1/发送通知,传第一个Color对象
-(void)notificationMethod:(UIColor*)color
{
//1、实例一个通知中心
//2、实例一个通知内容
//3、用通知中心把通知内容post出去,然后通知就完成,notificationWithNam就是接收通知的标识
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
NSNotification *notify = [NSNotification notificationWithName:@"colorNotification" object:color];
[center postNotification:notify];//中心调方法,内容是参数
或者
[NSNotificationCenter defaultCenter]postNotificationName:<#(NSString *)#> object:<#(id)#>
}
2/接收的类
//在当前类注册观察者,接收到colorNotification后执行选择器中的方法
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notify:) name:@"colorNotification" object:nil];
-(void)notify:(NSNotification*)noti
{//发通知的时候传过的参数,无论什么类型的参数,都用object去解析,
解析完了,发的时候是什么类型,解析就是什么类型的对象
UIColor *color = [noti object];
self.view.backgroundColor = color;
}