iOS 代码块
定义,借用一张图表示
1.代码块可以定义在类里面,也可以定义为变量,可以看作定义的一个函数,当调用代码块的时候,才会执行代码块里面的代码。
2.代码块重点作为 property 属性在两个页面传值
例子:第一个页面点击按钮,打开第二个页面,再第二个页面中,返回按钮,获取输入框的值,传递给第一个页面显示
第一个页面 (FirstViewController) 第二个页面(NextViewController)
第一个页面 (FirstViewController.m文件) 点击事件中
NextViewController *nextVC = [ [NextViewController alloc] init];
nextVC.backBlock = (void)(^backBlock )(NSString *str,NSString *str2){
[self comeBack:str];
}
第一个页面 (FirstViewController.m文件) comeBack方法
- (void) comeBack:(NSString *str){
//返回得到的str
}
在第二个页面(NextViewController.h文件) 定义代码块
@property (nonatomic,copy) void( ^backBlock )(NSString *str,NSString *str2);
在第二个页面(NextViewController.m文件) 点击返回事件中
label = self.textFiled.text;
if ( self.backBlock ){
self.backBloc(label,label);
}
[self.navigationController popViewControllerAnimted:Yes];
完成