本文只是对 Block语法的简单介绍.其实 Block语法在 OC 中是比较重要的,后期还会学习Block的高级知识.
语法糖是对集合和字符串操作的简化,有助于我们快速对字符串和集合进行操作.
一 Block的语法
1. Block 的语法跟函数指针的语法差不多.
2. Block 块语法,可以用 block 去保存一段代码,或者说是去封装一段代码.
3. Block 是由 c语言实现的,执行效率很高,在后面经常是用.
4. Block 实际上借鉴了函数指针的语法
5. Block 的数据类型
返回值类型 (^)(参数类型1,参数名2,参数名2……)
返回值类型 (^)();没有参数的 block 类型
注意:
1⃣ 没有参数,括号也不能省略
2⃣ 参数名可以省略
3⃣ 如果 block 与返回值,需要使用 return 返回数据
4⃣ 给 block 赋值的时候参数名必须写
6. Block 语法
Int(^P)(int,int) = ^(int a,int b){
return a + b;
};
7. 使用 typedef 为 block 起别名,用来简化代码
8. block 内部访问变量
1⃣ 全局变量 block 可以直接使用,不需要加_ block 修饰;
2⃣ 局部变量需要使用_ block 修饰才能在 block 内部修改;
3⃣ 局部变量不加_ block 修饰,只能使用,不能修改
9. block对数组进行排序
NSMutableArray *mArray =[[NSMutableArray alloc]initWithObjects:
@”red”,@”yellow”,@”white”,