//block在两个视图的传值 Apush到B B消失时将textfield的值传回A
//B.h
//给block重命名,方便调用
typedef void (^ReturnTextBlock)(NSString * showText);
//声明一个block属性
@interface B : UIViewController
@property (nonatomic, copy) ReturnTextBlock returnTextBlock;
//加上后方便A视图书写该block方法
- (void)returnText:(ReturnTextBlock)block;
@end
//B.m
//block的实现方法
- (void)returnText:(ReturnTextBlock)block {
self.returnTextBlock = block;
}
//在需要传值的地方添加,这里是页面消失时传值
- (void)viewWillDisappear:(BOOL)animated {
if(self.returnTextBlock) {
self.returnTextBlock(self.inputTF.text);
}
}
//A.m需要push的时候调用
B *bVC = [[B alloc] init];
//定义B视图后调用block
[bVC returnText:^(NSString * showText) {
self.showLabel.text = showText;
}];
整理自:
https://www.jianshu.com/p/e82bc3acc2c9
网友评论