什么是闭包
闭包是独立的功能块,可以在代码中传递和使用。Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambda。闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用。这称为关闭这些常量和变量。Swift为您处理捕获的所有内存管理.
速记参数名称$0,$1,$2 及经典用法
原始模式
Swift的标准库提供了一种称为的方法sorted(by:),该方法根据您提供的排序闭包的输出对已知类型的值数组进行排序。完成排序过程后,该sorted(by:)方法将返回一个与旧数组具有相同类型和大小的新数组,并且其元素的排序顺序正确。该sorted(by:)方法未修改原始数组。
下面的闭包表达式示例使用该sorted(by:)方法以String反向字母顺序对值数组进行排序。这是要排序的初始数组:
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
该sorted(by:)方法接受一个闭包,该闭包采用与数组内容相同类型的两个参数,并返回一个Bool值以说明对值进行排序后,第一个值应出现在第二个值之前还是之后。true如果第一个值应出现在第二个值之前,则排序闭包需要返回ÿ