【问题标题】:When Closure is used in Swift? [closed]什么时候在 Swift 中使用闭包? [关闭]
【发布时间】:2015-05-26 14:01:53
【问题描述】:

我是 IOS 的新程序员。

我阅读了苹果文档,但我不太明白。

我的问题是,

1.什么时候使用闭包?

2.闭包有什么用?

我基本上想了解了解闭包的概念如何帮助我改进编码。任何帮助将不胜感激..

【问题讨论】:

    标签: ios swift closures


    【解决方案1】:

    他妈的swiftblocksyntax.com

    Swift 中的闭包类似于 C 和 Objective-C 中的块。 闭包是一流的对象,因此它们可以嵌套和传递(就像 Objective-C 中的块一样)。 在 Swift 中,函数只是闭包的一种特殊情况。

    定义闭包:

    闭包通常用花括号 { } 括起来,并由函数类型 () -> () 定义,其中 -> 分隔参数和返回类型,后跟 in 关键字,将闭包头与其主体分开.

    { (params) -> returnType in
      statements
    }
    

    一个例子可以是应用于数组的 map 函数:

    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}
    

    【讨论】:

    • 我只是从该站点复制并粘贴答案。我这样做是为了期货!!
    猜你喜欢
    • 2010-09-20
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2010-09-06
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多