ViewController.m
點擊事件:
- (IBAction)pushBtnAction:(id)sender
{
BViewController *bViewController =[[BViewController alloc]initWithNibName:@"BViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:bViewController animated:YES];
//哪個頁面需要值,哪個頁面實現方法
bViewController.block = ^(NSString *string){
self.label.text = string;
};
}
先創建BViewController.h
定義了結構體:
#import <UIKit/UIKit.h>
//定義block
typedef void(^transferValue)(NSString *string);
@interface BViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *textField;
//把block作爲一個屬性,此處必須要用copy,因爲默認情況下,block是存檔在棧中,可能隨時被回收,需要copy操作
@property (nonatomic,copy)transferValue block;
@end
BViewController.m
- (IBAction)backBtnAction:(id)sender {
self.block(self.textField.text);
[self.navigationController popViewControllerAnimated:YES];
}