NSNotification--通知传值

NSNotification

最近做练习项目发现在一个没有控制器的UIView下puch到UIViewcontroller;需要用到通知传值

通知传值是一对多的传值方法;

通知中心传值,可以跨越多个页面传值, 一般也是从后面的页面传给前面的页面。
 
思路:
第三个界面的值传给第一个界面。
1. 在第一个界面建立一个通知中心, 通过通知中心,注册一个监听事件
 
2. 在第一个界面中,设置接收到通知的事件。
 
3. 在第一个界面中的dealloc中, 将通知中心remove掉,一定要移除通知,否则会造成内存泄露;
 
4. 在第需要的界面中, 建立一个通知中心, 通过通知中心, 发送通知(发送通知的过程就是传值的过程,将要传输的值作为object的值传给第一个界面 
代码:
 
在第一界面

 //添加 字典,将label的值通过key值设置传递

    NSDictionary *dict =[[NSDictionary alloc] initWithObjectsAndKeys:[NSString stringWithFormat:@"%d",(int)aBtn.tag],@"aBtn.tag", nil];

    //创建通知

    NSNotification *notification =[NSNotification notificationWithName:@"PUCH" object:nil userInfo:dict];

    //通过通知中心发送通知

    [[NSNotificationCenter defaultCenter] postNotification:notification];

 

移除通知:

[[NSNotificationCenter defaultCenter] removeObserver:observer name:nil object:self];

 

在需要的界面:

  //注册通知

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tongzhi:) name:@"PUCH" object:nil];

- (void)tongzhi:(NSNotification *)puch{

    NSLog(@"%@",puch.userInfo[@"aBtn.tag"]);

    NSLog(@"-----接收到通知------");}

 http://www.cnblogs.com/lmyailgs/p/4460791.html 

转载于:https://www.cnblogs.com/lmyailgs/p/4460791.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值