函数
- 格式
|
|
- 函数的普通调用
|
|
- 函数的特殊调用
|
|
- 函数的默认值
- OC函数没有默认值,Swift才有
- 函数有了默认值,就可以省略很多代码,比如说OC中SDWebImage框架中的方法,针对不同的参数有好多方法,但是方法最后调用的都是包含参数最全的一个方法;在Swift中就可以不用这么麻烦了
|
|
- 函数的无返回值
- swift中函数是特殊的闭包
|
|
闭包
- 特点
- 类似OC中的Block
- Swift中的函数是特殊的闭包(上面有提到)
- 需要提前准备好代码,然后在需要的时候直接执行,也可以当做参数传递
- 参数,返回值,以及代码的实现都写在 {}内
- 需要使用‘ in ‘分隔定义和实现
- {形参列表 -> 返回值类型 in // 实现的代码}
简单使用介绍
最简单的闭包:无参数无返回值,{}内除了实现代码,() -> () in都可以省略
1234567891011121314//完整版let b1 = { () -> () inprint("完整版简单闭包")}//执行闭包b1() //输出:完整版简单闭包//省略版let b1 = {print("省略版简单闭包")}//执行闭包b1() //输出:省略版简单闭包带参数的闭包
12345let b2 = { (x: Int) -> () inprint(x)}b2(29) //输出:29带参数,带返回值的闭包
123456let b3 = { (x: Int) -> Int inreturn(x)}print(b3(112)) //输出112}