美文网首页iOS开发
iOS-Notification通知

iOS-Notification通知

作者: inyourface | 来源:发表于2019-10-09 15:27 被阅读0次

    一、定义

        通知是一个消息传递机制。发送一个best名字的通知,只有监听该名字的用户才能接收到通知。

        通知一对多传递,可以跨层,跨模块。

    二、写法

        1.注册观察者

        [[NSNotificationCenter defaultCenter]addObserver:selfselector:@selector(bestMan)name:@"BestManNoti"object:nil];

        2.发送通知

        [[NSNotificationCenterdefaultCenter]postNotificationName:@"BestManNoti"object:nil];

        3.观察者实现方法

        -(void)refreshTableView:(NSNotification*)notification{//处理消息}

        4.移除观察者

        - (void)dealloc{//移除当前对象监听的事件

            [[NSNotificationCenterdefaultCenter]removeObserver:self]; }

    三、传值

        B控制器向A控制器传值,发通知的一方传值,监听者接收值

        1.B控制器发送通知

    - (IBAction)sendInfo:(id)sender {

        NSString *str = @"传值";

        NSDictionary *dict = @{@"key" : str};

        [[NSNotificationCenter defaultCenter] postNotificationName:@"strInfoNotifica" object:nil userInfo:dict];

        [self.navigationController popViewControllerAnimated:YES];

        2.A控制器监听通知

        - (void)viewDidLoad {

        [super viewDidLoad];

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

    }

    -(void)bestManNotification:(NSNotification *)infoNotification {

        self..text = infoNofification.userInfo[@"key"];

    }

    -(void)dealloc{

        [[NSNotificationCenter defaultCenter] removeObserver:self];

    }

    相关文章

      网友评论

        本文标题:iOS-Notification通知

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