现在的位置: 首页 > 综合 > 正文

IOS——Block

2018年02月02日 ⁄ 综合 ⁄ 共 579字 ⁄ 字号 评论关闭

Block:块语句,是IOS4.0以后引入的。Block是一种具有匿名功能的内嵌函数,他勇敢有一般函数的带参访问,拥有返回值,可以撷取被定义的词法作用域状态,可以选择性的修改词法作用域状态。

Block一般用来表示一段简化的代码,它特别适用于建立同步执行的代码段,封装代码工具,做回调时的callback。

【写法】

以^来宣告变数,以;来结束。

》》有返回值:

int (^myBlock)(int) = ^(int num){ return 3+num;};

调用:NSLog(@"%d",myBlock(10));


》》无返回值

void (^myBlock)(int) = ^(int num){ NSLog(@"%d",num); };


》》无入参

void (^myBlock)(void)=^(void){ NSLog(@"this is block"); };


》》多个入参

int (^myBlock)(int,int,NSString*)=^(int a,int b,NSString
*str){NSLog(@"%@",str);
return
a+b;};

》》》》》Block作为参数传给函数

-(void)testBlock:(void (^)(int num))myBlock
{
    myBlock(3);
};
///调用
[self testBlock:^(int num) {
        NSLog(@"%d",num);
    }];

抱歉!评论已关闭.