IOS——Block

简介: IOS——Block

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);
    }];
相关文章
|
9月前
|
iOS开发
iOS block修饰符用copy还是strong
iOS block修饰符用copy还是strong
103 0
|
iOS开发 开发者
iOS开发 - 如何写出漂亮的block
iOS开发 - 如何写出漂亮的block
78 0
|
iOS开发
iOS开发- 关于Block的几种应用
iOS开发- 关于Block的几种应用
94 0
|
iOS开发 Python
iOS小技能:lldb打印block参数签名
iOS逆向时经常会遇到参数为block类型,本文介绍一个lldb script,可快速打印出Objective-C方法中block参数的类型。
159 0
iOS小技能:lldb打印block参数签名
|
iOS开发
iOS代理 通知 block传值的规范写法
iOS代理 通知 block传值的规范写法
117 0
|
存储 API iOS开发
iOS Principle:Block(下)
iOS Principle:Block(下)
104 0
iOS Principle:Block(下)
|
存储 C语言 iOS开发
iOS Principle:Block(中)
iOS Principle:Block(中)
89 0
|
C语言 iOS开发 C++
iOS Principle:Block(上)
iOS Principle:Block(上)
93 0
iOS Principle:Block(上)
|
iOS开发
iOS开发:block死循环及__weak弱引用提前释放的问题解决
block死循环及__weak弱引用提前释放的问题解决
289 0
|
存储 中间件 Java
iOS-底层原理 30:Block底层原理
iOS-底层原理 30:Block底层原理
253 0
iOS-底层原理 30:Block底层原理