OC_Notifications(通知)

来源:互联网 发布:声鉴软件 编辑:程序博客网 时间:2024/05/01 17:30


这张图是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;

}


0 0
原创粉丝点击