①在后面控制器的 .h文件 中聲明block
//一會要傳的值為NSString類型
typedef void(^newBlock)(NSString*);
@interface MineViewController : RSBaseCommonViewController
//聲明block屬性
@property (nonatomic, copy) newBlock block;
//聲明block方法
- (void)text:(newBlock)block;
@end
②在后面控制器的 .m文件 中設(shè)置block
//設(shè)置block,設(shè)置要傳的值
- (void)text:(newBlock)block
{
self.block = block;
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:YES];
if(self.block != nil) {
self.block(@"呵呵");
}
}
③在前面控制器的 .m文件 中接收傳來的值
#import "ViewController.h"
#import "TwoViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *button = [UIButton buttonWithType:(UIButtonTypeRoundedRect)];
button.frame = CGRectMake(0, 100, 100, 100);
button.backgroundColor= [UIColor redColor];
[button addTarget:self action:@selector(push) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:button];
}
- (void)push
{
TwoViewController *newVC = [[TwoViewController alloc] init];
//接收block傳來的值
newVC.block= ^(NSString*str){
NSLog(@"%@", str);
};
[self.navigationController pushViewController:newVC animated:YES];
}
@end
④最終實現(xiàn)效果:在控制臺打印出了"呵呵"
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者