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);
    }];
相关文章
|
iOS开发 Python
iOS小技能:lldb打印block参数签名
iOS逆向时经常会遇到参数为block类型,本文介绍一个lldb script,可快速打印出Objective-C方法中block参数的类型。
496 0
iOS小技能:lldb打印block参数签名
|
iOS开发
iOS block修饰符用copy还是strong
iOS block修饰符用copy还是strong
509 0
|
存储 API iOS开发
iOS Principle:Block(下)
iOS Principle:Block(下)
333 0
iOS Principle:Block(下)
|
C语言 iOS开发 C++
iOS Principle:Block(上)
iOS Principle:Block(上)
288 0
iOS Principle:Block(上)
|
存储 中间件 Java
iOS-底层原理 30:Block底层原理
iOS-底层原理 30:Block底层原理
706 0
iOS-底层原理 30:Block底层原理
|
机器学习/深度学习 C++ iOS开发
iOS - __block 修饰符底层探索
Block技术合集 iOS - Block变量截获 Block的写法及使用
iOS - __block 修饰符底层探索
|
算法 编译器 iOS开发
iOS - Block的写法及使用
Block技术合集 iOS - Block变量截获
iOS - Block的写法及使用
|
API 开发工具 Android开发
iOS图文混排: 1、封装富文本API,采用block实现链式编程 2、HTML与富文本互转 3、带图片和超链接的富文本【修订】
iOS图文混排: 1、封装富文本API,采用block实现链式编程 2、HTML与富文本互转 3、带图片和超链接的富文本【修订】
616 0
iOS图文混排: 1、封装富文本API,采用block实现链式编程 2、HTML与富文本互转 3、带图片和超链接的富文本【修订】
|
API 开发工具 Android开发
iOS富文本使用指南: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转
iOS富文本使用指南: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转
522 0
iOS富文本使用指南: 1、封装富文本API,采用block实现链式编程 2、 超链接属性 3、HTML字符串与富文本互转
|
API iOS开发 Perl
【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)
【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)
331 0
【封装富文本API,采用block实现链式编程】(block 的妙用:结合block和方法的优点实现iOS的链式编程)