什么是Block
Block是iOS中一种比较特殊的数据类型
Block是苹果官方特别推荐使用的数据类型,应用场景比较广泛
- 动画
- 多线程
- 集合遍历
- 网络请求回调
Block的作用
- 用来保存某一段代码,可以在恰当的时间再取出来调用
- 功能有点类似于函数和方法
基本使用
- Block的组成要素跟函数类似
- 返回值
- 形式参数
- 实际参数
- Block的定义格式
- 返回值类型 (^Block变量名)(形参列表) = ^(形参列表) {
- };
- 调用Block保存的代码
- block变量名(实参);
- 使用typedef定义Blcok类型
- typedef返回值类型 (^block类型名称)(形参列表);
使用注意
- 默认情况下,Block内部不能修改外面的局部变量
- Block内部可以修改使用__block修饰的局部变量