SwiftUI 内功教程之Closures 07 Trailing Closures尾随闭包及经典用法

什么是闭包

闭包是独立的功能块,可以在代码中传递和使用。Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambda。闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用。这称为关闭这些常量和变量。Swift为您处理捕获的所有内存管理.


Trailing Closures尾随闭包

如果您需要将闭包表达式作为函数的最终参数传递给函数,并且闭包表达式很长,那么将其写为尾随闭包可能会很有用。您可以在函数调用的括号后面编写尾随闭包,即使尾随闭包仍然是函数的参数。使用尾随闭包语法时,不要在函数调用中为第一个闭包编写参数标签。一个函数调用可以包括多个结尾的闭包。但是,下面的前几个示例使用单个尾随闭包。

func someFunctionThatTakesAClosure(closure: () -> Void) {
    // function body goes here
}

// Here's how you call this function without using a trailing closure:

someFunctionThatTakesAClosure(closure: {
    // closure's body goes here
})

// Here's how you call this function with a trailing closure instead:

someFunctionThatTakesAClosure() {
    // trailing closure's body goes here
}

上面“闭包表达式语法”部分中的字符串排序闭包可以sorted(by:)作为结尾的闭包写在方法括号之外:

reversedNames = names.sorted() { $
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付 79.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值