IOS Block回调 精简代码示例

本文通过一段代码示例,详细解释了Block回调的概念及其使用方法,包括如何在头文件中定义Block类型,如何在实现文件中调用并传递Block,以及在不同代码模块间传递Block的过程。
其实Block回调非常简单,起初你可能会觉得它很神秘,不!
这几段代码,就足以诠释它的功能,胜过一切详解剖析,get起来吧!

如何理解Block:

      CodeA在头文件中定义了一个Block,在实现文件中合适的位置调用Block,但这个Block在调用时具体做些什么呢,有CodeB来决定,所以这时只需要在CodeB中定义Bloak的执行代码,然后调用[codeA setBloak:bloak],明白了吧,不明白看下面代码示例,这是最简单明了的示例了


意图:代码 A 传值给代码B     (A — > B)

A.h
#import<Foundation/Foundation.h>
#import
<UIKit/UIKit.h>

typedefvoid (^BlockForXNTopBar_1)(int currentPager);  //1.创建Block类型

@interface XNScrollTopbar :UIView {
    BlockForXNTopBar_1 block_1;    //2.定义Block变量
}

- (void)setBlock_1:(BlockForXNTopBar_1)block1;  //3.定义setBlock方法  外界入口
@end


A.m
- (IBAction)Action_Btn_1:(UIButton *)sender{
    int index = (int)sender.tag -500;
    block_1(index);    //5.传值
}

- (void)setBlock_1:(BlockForXNTopBar_1)block1 {    //4.外界入口
    if(block_1 != block1){
       
block_1 = block1;
    }
}


B.m

 A *a = [[A alloc] init]; 
[setBlock_1:^(int currentPager) {    //6.接受到值
        NSLog(@"blockresult: %d", currentPager);
    }];


 控制台输出:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值