NSNotificationCenter传值

iOS 页面传值的几种方式之NSNotificationCenter传值

接着上回说的iOS页面传值问题

传送门---------->iOS页面传值之代理传值

接下来我们说说NSNotificationCenter传值方式

在开始之前,我们首先得知道KVO模式

Key-Value Observing (KVO) 键值监听

就是说当你告诉通知中心一个Key 他会根据Value的变化做些事情,或者是获取一些数据

说上千回,不如用上一回。 

 

我们在B控制器发送一个监听

[[NSNotificationCenter defaultCenter] postNotificationName:@"ChangeNameNotification" object:self userInfo:@{@"name":self.textField.text}];

 

而在A控制器中设置A本身为一个监听者(好比A这时候正在监听它,可以这么理解,一个KVO可以用多个监视者。这里只有一个控制器A)

具体代码

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

再在A控制器中实现ChangeNameNotification:方法

-(void)ChangeNameNotification:(NSNotification*)notification{

 

    NSDictionary *nameDictionary = [notification userInfo];

    

    self.textLabel.text = [nameDictionary objectForKey:@"name"];

 

}


你可能感兴趣的:(中心,控制器,传送门)