Swift 闭包的函数体部分由关键字 in 引入

5 min read

闭包表达式语法有如下的一般形式:

{ (parameters) -> return type in
    statements
}

闭包的函数体部分由关键字 in 引入。

该关键字表示闭包的参数和返回值类型定义已经完成,闭包函数体即将开始。

由于这个闭包的函数体部分如此短,以至于可以将其改写成一行代码:

reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in return s1 > s2 } )

示范例子

.alert(isPresented: $showAlert,content: {()->Alert in return Alert(
            title: Text("xx")
            )})