Block块是随OS X v10.6和iOS 4.0一同发布并可用的功能(在这个Swift2.0都出来了的时候,不用考虑block版本是否可用的问题),其功能类似于C语言的函数。但是与C语言函数不同在于Block可以存取与之在同一个作用域的变量。
1、Block块/Swift闭包实体定义
- Object-C语法
Block指针定义:
返回值 (^Block名字)(参数列); 如:
int (^cube)(int a)
Block实体定义:
^(参数列表) {行为主体},例如:
^(int a) { return a * a * a; }
- Swift语法
(形参列表) -> 返回值类型,Swift中函数就是闭包,闭包是函数的一种特殊形式。闭包的几种格式为:
1)、完整格式
funA( { () -> () in
print("test")
})
2)、无形参的写法
funA( {
print("test")
} )
3)、闭包为最后一个参数
funA() {
print("test")
}
4)、只有闭包一个参数
funA {