iOS开发

iOS-Notification通知

2019-10-09  本文已影响0人  inyourface

一、定义

    通知是一个消息传递机制。发送一个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];

}

上一篇下一篇

猜你喜欢

热点阅读