块
块(Block)是Objective-C对ANSI C所做的扩展,使用块可以更好地简化Objective-C编程,而且Objective-C的很多API都依赖于块
块的基本语法
定义块的语法格式如下:
^[块返回值类型] (形参类型1 形参1,形参类型2 形参2, ...){
//块执行体
}
从上面的语法格式可以看出,定义块的语法非常像定义一个函数,但只是定义一个匿名函数。定义块与定义函数的语法格式存在如下差异。
1.定义块必须以^开头。
2.定义块的返回值类型可以省略,而且经常都会省略声明块的返回值类型。
3.定义块无须指定名字。
4.如果块没有参数,此时参数部分括号不能省略,但内部可以留空,通常建议使用void作为占位符。
如果程序需要以后多次调用已经定义的块,那么应该将该块赋给一个块变量。定义块变量的语法格式如下: