本文共 1159 字,大约阅读时间需要 3 分钟。
通知中心(NSNotification)传值,可以跨越多个页面传值, 一般也是从后面的页面传给前面的页面,即反向传值。
1. 在第一个界面建立一个通知中心, 通过通知中心,注册一个监听事件 3. 在第一个界面中的dealloc中, 将通知中心remove掉 4. 在第三个界面中, 建立一个通知中心, 通过通知中心, 发送通知(发送通知的过程就是传值的过程,将要传输的值作为object的值传给第一个界面 NSNotificationCenter *notiCenter = [NSNotificationCenter defaultCenter]; // 注册一个监听事件。第三个参数的事件名, 系统用这个参数来区别不同事件。 [notiCenter addObserver:self selector:@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); - (void)dealloc{ // 移除当前对象监听的事件 [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; } NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; // 发送通知. 其中的Name填写第一界面的Name, 系统知道是第一界面来相应通知, object就是要传的值。 UserInfo是一个字典, 如果要用的话,提前定义一个字典, 可以通过这个来实现多个参数的传值使用。 [center postNotificationName:@"cesuo" object:@"zhangheng" userInfo:dic]; 转载地址:http://murni.baihongyu.com/