美文网首页
iOS通知中心传值使用

iOS通知中心传值使用

作者: if_you_like | 来源:发表于2017-08-16 11:20 被阅读24次

主要在一些界面之间跨度大的界面使用比如要从C界面传到A界面这样或者多个地方需要执行一个操作的时候。通知最好是在viewDidLoad这个方法中创建

首先在需要传送得界面C界面创建通知
//创建通知
            NSDictionary * dic = @{@"zhuce":@YES};
            [[NSNotificationCenter defaultCenter] postNotificationName:@"approveSelf" object:nil userInfo:dic];
这只能传一个字典,userInfo的返回就是一个字典

这是第二步啦,在接受通知的地方也创建通知接受的方法

接受通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(approveSelf:) name:@"approveSelf" object:nil];//传值通知创建好啦
//实现通知的方法
-(void)approveSelf:(NSNotification *)notification{
    BOOL approveBool = notification.userInfo[@"zhuce"];
    if ( approveBool == YES) {
        [self verificationType:Verification_idCardLight];
    }
}

最后一步不要忘记哦,移除通知

//最好在dealloc这个方法中移除通知
-(void)dealloc{
  //第一种方法.这里可以移除该控制器下的所有通知
     // 移除当前所有通知
    NSLog(@"移除了所有的通知");
    [[NSNotificationCenter defaultCenter] removeObserver:self];

     //第二种方法.这里可以移除该控制器下名称为zhuce的通知
    //移除名称为zhuce的那个通知
    NSLog(@"移除了名称为zhuce的通知");
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"zhuce" object:nil];
}

这里注意:如果dealloc方法不调用,说明当前有变量没有被释放,这时如果找不到问题所在,也可以重写控制器的返回按钮backBarButtonItem事件,在返回的时候进行移除通知操作

//返回上一层界面事件
-(void)backPreviousViewControllerAction{

     //第一种方法.这里可以移除该控制器下的所有通知
     // 移除当前所有通知
    NSLog(@"移除了所有的通知");
    [[NSNotificationCenter defaultCenter] removeObserver:self];

     //第二种方法.这里可以移除该控制器下名称为tongzhi的通知
    //移除名称为tongzhi的那个通知
    NSLog(@"移除了名称为tongzhi的通知");
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"tongzhi" object:nil];

    // 返回上一层界面
    [self.navigationController popViewControllerAnimated:YES];

}

配个图


timg.jpeg

相关文章

  • iOS通知中心传值使用

    主要在一些界面之间跨度大的界面使用比如要从C界面传到A界面这样或者多个地方需要执行一个操作的时候。通知最好是在vi...

  • ios通知使用详解带案例

    iOS中通知 通知中心传值,可以跨越多个页面传值, 一般也是从后面的页面传给前面的页面。 思路: 第三个界面的值传...

  • iOS 通知

    iOS 通知传参使用方法 尽量不要在viewWillDisappear:方法中移除通知 iOS通知传值的使用 1、...

  • iOS通知中心传值

    通知 是在跳转控制器之间常用的传值代理方式,除了代理模式,通知更方便、便捷,一个简单的Demo实现通知的跳转传值....

  • iOS NSNotificationCenter通知中心传值

    主要方法: 使用方法: 1、在需要监听到地方(任何类),添加通知中心观察者,只要有触发,就会回调方法 observ...

  • swift中的通知中心传值的使用

    1、创建通知,最好在viewDidLoad的方法中创建 override func viewDidLoad() {...

  • iOS--《传值方法》之通知中心传值

    第1步:在发送者中实现一个方法进行发送通知。 第2步:在接收者中注册通知,也就是接收者要进行接收通知,接收通知和发...

  • 通知

    iOS中通知的使用NSNotificationCenter

  • iOS通知传值的使用

    iOS通知传值的使用http://www.jianshu.com/p/980a58459001

  • iOS Block的传值 代理传值 通知中心传值

    有的时候,我们需要页面跳转传递数据,就需要将这个页面通过某种形式传递给另一个页面。我们把两个页面分别记做:传值页面...

网友评论

      本文标题:iOS通知中心传值使用

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