版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1338216
block传值
在反向传值中,我一般首先会想到协议代理,毕竟用的比较多,可有时一些简单的反向传值并不仅可以用协议代理,我们还可以利用block进行反向传值。可以看看block的声明、赋值、调用,网址:http://blog.csdn.net/u010105969/article/details/47010185。
首先在主动方声明一个block:
@property (nonatomic,copy)void (^changeTitleBlock) (NSString * title);
然后是对block的一个赋值:
if (self.changeTitleBlock){
// block调用
self.changeTitleBlock(button.titleLabel.text);
}
然后在被动方中调用block:
// block赋值
[next setChangeTitleBlock:^(NSString * title) {
self.navigationItem.title = title;
}];
代码相比协议代理简单了几分,不用制定协议、执行代理、遵守协议、实现方法、将遵守协议的代理作为自己的一个属性。
实际在学习block传值的时候我首先想到的是block动画,之间学的block竟然忘了。。。。