数据的逆传目前有三种方法(数据提供/发布者 数据接收者):
1)代理(代理方法中带要传递的数据参数)
2)通知(通知的发布者object是要传递的数据参数,通知发布者要求通知中心发布通知,通知接受者注册通知监听器(里面有 通知的方法,注意,在该方法实现时,其必带的参数是(NSNotification *)notification,通知接受者取消注册通知监听器)
3)block方法(block的参数设置为要传递的数据参数)post
1 通知传值(或者传递事件):分为三个步骤:注意:通知能够是多对1发通知,也能够是一对多发通知,多对1发通知(同一个通知)时能够经过通知的object参数的不一样来传递不一样的信息,即同一个名称的通知能够根据不一样的通知发布者来各自设置不一样的object参数来向通知接受者发布不一样的信息spa
1.1)代理
1.server
ActivityPointProductModel *pointProductModel = _pointProductList[indexPath.row];对象
UIButton *btn = [[UIButton alloc] init];事件
//pointProductModel.ProductID是基本数据类型(int float NSInteger等)rem
btn.tag = pointProductModel.ProductID;get
[[NSNotificationCenter defaultCenter]it
postNotificationName:@"EnergyCollectionViewChangeVC" object:btn];io
2
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeToEnergyExchangeViewController:) name:@"EnergyCollectionViewChangeVC" object:nil];
3
- (void)changeToEnergyExchangeViewController:(NSNotification *)noti{
UIButton *btn = [noti object];
ReEnergyExchangeViewController *EnergyExchangeVC = [[ReEnergyExchangeViewController alloc] init];
EnergyExchangeVC.productID = btn.tag;
[self.navigationController pushViewController:EnergyExchangeVC animated:YES];
}
1.2)
1.3)
三种传值方式实用举例demo:http://pan.baidu.com/s/1dEQzeq1
未完待续