Block传值一般用在从后往前传值.
步骤:
1.在第二个页面设置一个block属性,
2.在第二个页面的相应位置调用该block属性,调用函数
3.在第一个页面展开此block方法
注意:一般用typedef给block属性起个别名
主要代码:(将第二个页面的输入框中的内容传给第一个页面的输入框,显示出来)
第二个页面的.h文件中声明
#pragma mark----------为block变量起别名
typedef void(^passValueBlock)(NSString *);
#pragma mark--------声明block变量
@property(nonatomic,strong) passValueBlock passValueBlock;
第二个页面的.m文件中调用
#pragma mark------------使用模态调回到第一个视图控制器
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
#pragma mark----------执行block
//执行block
self.passValueBlock(self.textField.text);
//__weak typeof(self) temp = self;
[self dismissViewControllerAnimated:YES completion:nil];
}
在第一个页面的.m文件中展开此方法(执行)
#pragma mark----------展开block
//展开block
customVC.passValueBlock = ^(NSString *text){
self.label.text = text;
};
使用Block传值的注意事项