在iOS4.0后推出的block语法。Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。
技术交流群:98787555
一、讲解block回调例子
1.首先有两个控制器:A控制器:BlockViewController.h
B控制器:SlectBlockViewController.h
2.在B控制器.h文件定义block属性。如下:
@property (copy,nonatomic)void(^selectBlockParam)(NSString* content);
3.在设置参数的方法给block赋值
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
_selectBlockParam([NSStringstringWithFormat:@"Block回调参数%li",indexPath.row]);
[self.navigationControllerpopViewControllerAnimated:YES];
}
4.最后一步在A控制器实例B控制器时实现block的set方法
- (IBAction)selectBlockParam:(id)sender {
SlectBlockViewController *selectViewController = [[SlectBlockViewControlleralloc]initWithNibName:@"SlectBlockViewController"bundle:nil];
[selectViewController setSelectBlockParam:^(NSString *content) {
_setCallbackParameter.text = content;
}];
[self.navigationControllerpushViewController:selectViewControlleranimated:YES];
}