IOS 开发 通知传值

2018-04-18  本文已影响0人  福将的逆袭

第三个界面的值传给第一个界面。

1. 在第一个界面建立一个通知中心, 通过通知中心,注册一个监听事件

2. 在第一个界面中,设置接收到通知的事件。

3. 在第一个界面中的dealloc中, 将通知中心remove掉

4. 在第三个界面中, 建立一个通知中心, 通过通知中心, 发送通知(发送通知的过程就是传值的过程,将要传输的值作为object的值传给第一个界面 

代码片段:

第一界面:

//通知中心是个单例

NSNotificationCenter*notiCenter = [NSNotificationCenterdefaultCenter];

 // 注册一个监听事件。第三个参数的事件名, 系统用这个参数来区别不同事件。

[notiCenteraddObserver:selfselector:@selector(receiveNotification:)name:@"cesuo"object:nil];

//@selector(receiveNotification:)方法, 即受到通知之后的事件

- (void)receiveNotification:(NSNotification *)noti

{

     // NSNotification 有三个属性,name, object, userInfo,其中最关键的object就是从第三个界面传来的数据。name就是通知事件的名字, userInfo一般是事件的信息。

NSLog(@"%@ === %@ === %@", noti.object, noti.userInfo, noti.name);

 }

     // 第一界面中dealloc中移除监听的事件

- (void)dealloc

{

//移除当前对象监听的事件

[[NSNotificationCenterdefaultCenter]removeObserver:self];

[superdealloc];

}

第二界面: 

     // 创建一个通知中心

NSNotificationCenter*center = [NSNotificationCenterdefaultCenter];

     // 发送通知. 其中的Name填写第一界面的Name, 系统知道是第一界面来相应通知, object就是要传的值。 UserInfo是一个字典, 如果要用的话,提前定义一个字典, 可以通过这个来实现多个参数的传值使用。

[centerpostNotificationName:@"cesuo"object:@"zhangheng"userInfo:dic];

上一篇 下一篇

猜你喜欢

热点阅读