Swift 闭包学习笔记

什么是闭包

在 Swift 中,闭包指的是能够捕获自身作用域内部变量或常量,可以将其存储并稍后调用的函数。简单来说,闭包就是一个可以被传递和引用的函数。

闭包的语法

  1. 完整的闭包语法
Copy Code
{ (parameters) -> returnType in // Code }
  1. 简化的闭包语法
Copy Code
{ parameters in // Code }

实例

下面我们来看一个排序函数的实例,其中我们可以使用闭包作为参数来指定排序规则。

Copy Code
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"] // 使用闭包作为参数排序 let sortedNames = names.sorted { (s1: String, s2: String) -> Bool in return s1 < s2 } print(sortedNames)

输出结果为:

Copy Code
["Alex", "Barry", "Chris", "Daniella", "Ewa"]

在这个实例中,我们使用了 sorted 函数进行排序,其中第二个参数为闭包,定义了排序的规则。这个闭包接受两个 String 类型的参数并返回一个 Bool 类型的值,表示是否需要交换这两个元素的位置。

小结

通过以上实例,我们可以看到闭包的强大之处,可以让我们更加灵活地定义函数的行为。在实际开发中,我们还可以使用闭包来进行异步回调、映射数据等等。因此,掌握闭包是 Swift 开发中至关重要的一环。