通过消息方法机制:回调传值
2016-04-14 本文已影响144人
Dayu大鱼
本项目主旨:
.firstView Observe SecondView
第一个视图监听第二个视图 : -> 消息通过2发送出来,1负责监听然后接收相应消息(本项目的消息是2传出一个颜色消息,1响应这个消息并实现自身颜色改变
firstView 实现** colorChanged:** )
代码部分:
SecondViewController.m
发送消息:
-(void)viewWillAppear:(Bool)animated {
UIColor*color=[UIColor RedColor];
[NSNotification defaultCenter]postNotificationName:@"MASIERA" object:nil UserInfo:@{@"color":color}];
}
相当于视图2是广播,将一个颜色消息发送出去(没有指定谁接收)下面F first View 需要接收SecondView的消息
FirstViewController.m
-(void)viewWillAppear:(Bool)animated{
[NSNotificationCenter defaulterCenter]addObserver:self selector:@selector(colorChanged: ) name:@"MASIERA" object:nil ];
##对colorChanged:方法进行实现:
-(void)colorChanged:(NSNotification*)noti{
self.view.backgroundColor=noti.UserInfo[@"color"];
//:“ co” 只是一个标识符,在具体的使用当中方便一般情况下都能清楚的分辨出来用来代表颜色:{UIColor*color=[UIColor blueColor];} color 对象
终结:
first 根源上相当于Second的delegate(代理)
根据:colorChanged 可以看出