Swift 如何理解;通过扩展添加新的实例方法“;来自苹果公司';旅游指南?
在苹果的文档中,当我们要扩展type:Int时,我们可以编写如下代码:Swift 如何理解;通过扩展添加新的实例方法“;来自苹果公司';旅游指南?,swift,Swift,在苹果的文档中,当我们要扩展type:Int时,我们可以编写如下代码: 3.repetitions(task: printHello) 以下是我的问题: 为什么打印(“你好!”)可以工作 我的意思是,在第2行:函数重复(task:()->Void){,计算机如何知道参数task与task()相同 如果我编写这样的代码,为什么不起作用: 3.repetitions(task: printHello) 以下是代码,谢谢: import Foundation func printHello(
3.repetitions(task: printHello)
以下是我的问题:
为什么打印(“你好!”)可以工作
我的意思是,在第2行:函数重复(task:()->Void){,计算机如何知道参数task与task()相同
如果我编写这样的代码,为什么不起作用:
3.repetitions(task: printHello)
以下是代码,谢谢:
import Foundation
func printHello(){
print("Hello!")
}
extension Int {
func repetitions(task: () -> Void) {
for _ in 0..<self {
task()
}
}
}
3.repetitions (printHello){
}
<代码>导入基础
func printHello(){
打印(“你好!”)
}
扩展整数{
函数重复(任务:()->无效){
对于0..中的uuu,如果要传递
printHello
,请按如下方式执行:
3.repetitions(task: printHello)
这种方式使用:
这是一个语法糖:
3.repetitions(task: {
print("Hello!")
})
这是尾随闭包语法的一个实例,它是为使闭包更易于使用而发明的许多语法糖之一。