iOS Block传值~demo

//联系人:石虎  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"


@interface ViewController ()

@property (weak, nonatomic) IBOutlet UILabel *blockLabel;

- (IBAction)blockClick:(UIButton *)sender;


@end


@implementation ViewController


//逆向传值

- (IBAction)blockClick:(UIButton *)sender {

    

    SHBlockViewController *blockVC =[[SHBlockViewController alloc] init];

    // 接收方只需要调用传输方的 block 方法

    [blockVC showTheResultToFirst:^(NSString *secondString) {

        self.blockLabel.text = secondString;

    }];

    [self presentViewController:blockVC animated:YES completion:nil];


}

- (void)viewDidLoad {

    [super viewDidLoad];

    

}

@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"


@interface SHBlockViewController ()


@property (weak, nonatomic) IBOutlet UITextField *startValueField;

- (IBAction)startValueClick:(UIButton *)sender;


@end


@implementation SHBlockViewController


//返回到上级界面

- (IBAction)startValueClick:(UIButton *)sender {

    

    [self dismissViewControllerAnimated:YES completion: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<UITouch *> *)touches withEvent:(UIEvent *)event {

    [self.view endEditing:YES];

}




================

=======




谢谢!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值