美文网首页
iOS----通知

iOS----通知

作者: PlatonsDream | 来源:发表于2016-04-26 20:50 被阅读91次

监听下一个页面传回来的广播,修改当前页面的标题名称

播放广播

secondViewController.h

typedef void(^sendValue)(NSString *valueStr);
@interface SecondViewController : UIViewController
//copy修饰,将block从栈区拷贝到到堆区,方便管理内存(因为在堆区才可以手动的管理内存)
@property (nonatomic, copy) sendValue sendValueBlock;

//播放 一条广播
    [[NSNotificationCenter defaultCenter] postNotificationName:@"test" object:self.myTextField.text userInfo:@{@"title":self.myTextField.text}];
    //block 传值,block的调用。那个类需要text的值,就在那个类中实现block
    self.sendValueBlock(self.myTextField.text);

[NSNotificationCenter defaultCenter] //广播中心

接收广播, 把self设置成一个观察者

RootViewController.m

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

//实现block方法
    secondVC.sendValueBlock = ^(NSString *value){
        
        self.navigationItem.title = value;
    };

[NSNotificationCenter defaultCenter] //通知中心,播放、监听所有的广播

Observer:self 监听广播的人,这里是self
第二个参数:方法选择器,收到广播时候的回调方法,可以不带参数,也可以带参数。如果带参数,参数的类型为广播类型(NSNotification *)
name:广播的名称,便于监听广播的人,使用name查找广播
object:标记。如果想要监听所有的广播内容,那么赋值为nil

广播接收后回调方法

- (void)receiveNotifi:(NSNotification *)notification {
    
    NSLog(@"object---%@", notification);
    NSLog(@"userInfo----%@", notification.userInfo);
    
    self.navigationItem.title = [notification.userInfo objectForKey:@"title"];
}

notification是接收到的广播,类型为NSNotification *
接收广播后根据键的值获取标题名称

最后,把监听对象销毁

//RootViewController.m
- (void)dealloc {
 [[NSNotificationCenter defaultCenter] removeObserver:self];
}

相关文章

  • iOS----通知

    监听下一个页面传回来的广播,修改当前页面的标题名称 播放广播 [NSNotificationCenter defa...

  • iOS----如何检查域名是否支持ipv6

    一、iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你...

  • iOS----涂鸦

    一个简单的涂鸦Demo,实现了撤回以及橡皮檫功能的简单操作。(自己在基础上慢慢优化) 下载链接 https://g...

  • iOS----定位

    注释1:请求用户授权使用定位权限 注释2 也可以用简便的可视化方法

  • iOS----属性

    声明属性 Objective-C声明的属性特性提供了一种简单的方法来声明和实现对象的访问器方法。 概述 ...

  • iOS----应用图标

    1.iOS应用图标需要是PNG形式的,而且不应包含任何透明区域和圆角。如下 2.iOS-iPhone-应用图标Ap...

  • iOS----启动图

    iOS启动图有两种设置方式,分别为Launch Images Source和Launch Screen File,...

  • iOS----手势冲突

    项目中我们经常会用到弹框,如京东客服的订单功能,底部一个半透明view,view上添加一个tableview。点击...

  • iOS----音频播放--AVAudioPlayer

    所有的iOS App都具有默认的音频会话,它定义了以下行为:可以播放音频,但是不能录制音频。静音模式下App播放的...

  • iOS----点赞动画

    -(void)praiseAnimateWithView:(UIView *)view{[UIView anima...

网友评论

      本文标题:iOS----通知

      本文链接:https://www.haomeiwen.com/subject/imhqrttx.html