第一种:初始化
ChooseMessageVC
.h中 typedef void(^block)(NSString *str);
-(instancetype)initWithBlock:(block) block;
.m @property (nonatomic,copy)block ablock;
-(instancetype)initWithBlock:(block) block
{
if (self = [super init])
{
_ablock = block;
}
return self;
}
在返回的时候 将值传过去
_ablock(model.user_id);
[self.navigationController popViewControllerAnimated:YES];
上个界面调用的block 的初始方法:
ChooseMessageVC *choose = [[ChooseMessageVC alloc] initWithBlock:^(NSString *str) {
cell.RightLab.text= str;
}];
在上个界面接收到这个界面传过去的值 才会 跳转上个界面
第二种:Property 一个block 属性
.h
@property (nonatomic, copy) void(^MySubOrderBlock)(BOOL SubId);
.m
//在需要值传递的地方添加
赋值 if (_MySubOrderBlock) {
_MySubOrderBlock(1);
}
然后在想要用到这个值得时候用创建对象调用该属性的
_secondViewController.MySubOrderBlock = ^(BOOL SubId){
if (SubId) {
weaktabBar.hidden = YES;
[weakSelf createLeftBarButtonImageWithType:BarButtonImageTypeBack];
}else{
weaktabBar.hidden = NO;
[weakSelf createLeftBarButtonTitle:@""];
}
};