我是IOS的新程序员。
我阅读了Apple文档,但我并不太了解。
我的问题是,
1.使用关闭时?
2.关闭的用法是什么?
我基本上想了解如何了解闭包的概念可以帮助我改进编码。任何帮助将不胜感激..
答案 0 :(得分:2)
fuckingswiftblocksyntax.com
Swift中的闭包类似于C和Objective-C中的块。 闭包是第一类对象,因此它们可以嵌套并传递(与Objective-C中的块一样)。 在Swift中,函数只是闭包的一个特例。
定义一个闭包:
闭包通常用大括号{}括起来,并由函数类型() - >定义。 (),其中 - >分隔参数和返回类型,后跟in关键字,用于将闭包头与其主体分开。
{ (params) -> returnType in
statements
}
一个例子可能是应用于数组的地图函数:
let padawans = ["Knox", "Avitla", "Mennaus"]
padawans.map({
(padawan: String) -> String in
"\(padawan) has been trained!"
})
已知类型的闭包:
当已知闭包的参数类型时,您可以执行以下操作:
func applyMutliplication(value: Int, multFunction: Int -> Int) -> Int {
return multFunction(value)
}
applyMutliplication(2, {value in
value * 3
})
闭包速记参数名称:
闭包参数可以按位置($ 0,$ 1,...)而不是按名称
进行引用applyMutliplication(2, {$0 * 3})
此外,当闭包是函数的最后一个参数时,括号可以省略:
applyMutliplication(2) {$0 * 3}