MainViewController.m中创建button
在button的点击方法中
- (void)click:(UIButton *)button
{
//没有参数,没有返回值的block
void (^block) () = ^(){
NSLog(@“测试”);
}
//调用block
block();
//有参数,无返回值
//通过block传值不需要返回值,因为调用更需要返回值,所以传值的时候只要参数,不需要返回值
void(^block)(NSArray *) = ^(NSArray *arr){
NSLog(@“%@”, arr);
//传过来的数据的处理都在block中进行
}
2.sec.block = block;
}
属性传值1.在sec.h中设置属性 @property(nonatomic, copy)void(^block)(NSArray *);
2.在Main.m点击方法中 通过第二页sec.h属性接收block (在block以外接收)
3.在sec.m中的点击方法中调用传过来的block
sec.m
- (void)click:(UIButton *)button
{
[self.navigationController popToRootViewControllerAnimated:YES];
3.NSArray *arr = @[@“1”, @“2”];
self.block(arr);
}
创建一个UITableView
先做好基本的建立签好TableView的两个属性
1.在Sec.h中定义属性
@property(nonatomic, copy)void(^block)(NSString *)
为了方便,我们将在Sec.h头文件上定义一个新的类型名
typedef void(^Block)(NSString *)其中新名是Block 类型名是void(^)(NSString *)
改变之后为
@property(nonatomic, copy)Block block;
之后在Sec.m中对block进行释放
- (void)dealloc
{
//这个是block自己的release方法
Block_release(_block);
[super dealloc];
}
2.在Main.m中 通过sec.m中属性接收block
sec.block = block;
3.在Main.m的点击方法中调用传过来的block