//聯系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄
/**
注意點: 1.看 GIF 效果圖.
2.看連線視圖的效果圖.
3.看實現代碼(直接復制實現效果).
4.下載demo鏈接:(點擊或者是https://gitee.com/ShiHu132/BlockChuanZhi)
*/
一、GIF 效果圖:
二、連線視圖的效果圖:
圖1:
圖2:
三、實現代碼:
=========================
===================================================
==========================
控制器1:ViewController.m
//? ViewController.m
//? Block傳值~demo
//
//? Created by石虎on 2017/9/22.
//? Copyright ? 2017年石虎. All rights reserved.
//
#import"ViewController.h"
#import"SHBlockViewController.h"
@interfaceViewController()
@property(weak,nonatomic)IBOutletUILabel*blockLabel;
- (IBAction)blockClick:(UIButton*)sender;
@end
@implementationViewController
//逆向傳值
- (IBAction)blockClick:(UIButton*)sender {
SHBlockViewController*blockVC =[[SHBlockViewControlleralloc]init];
//接收方只需要調用傳輸方的block方法
[blockVCshowTheResultToFirst:^(NSString*secondString) {
self.blockLabel.text= secondString;
}];
[selfpresentViewController:blockVCanimated:YEScompletion:nil];
}
- (void)viewDidLoad {
[superviewDidLoad];
}
@end
================
=======
控制器2:SHBlockViewController.m
//
//? SHBlockViewController.m
//? Block傳值~demo
//
//? Created by石虎on 2017/9/22.
//? Copyright ? 2017年石虎. All rights reserved.
//
#import"SHBlockViewController.h"
#import"ViewController.h"
@interfaceSHBlockViewController()
@property(weak,nonatomic)IBOutletUITextField*startValueField;
- (IBAction)startValueClick:(UIButton*)sender;
@end
@implementationSHBlockViewController
//返回到上級界面
- (IBAction)startValueClick:(UIButton*)sender {
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
// block實際執行的內容
-(void)showTheResultToFirst:(SHBlockViewBlock)block {
self.passValue= block;
}
//在即將消失view時,將block方法的參數設置為文本框的內容
-(void)viewWillDisappear:(BOOL)animated {
if(self.passValue!=nil) {
self.passValue(self.startValueField.text);
}
}
//退出鍵盤
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)event {
[self.viewendEditing:YES];
}
================
=======