swift - Swift 构造函数中令人困惑的闭包用法

标签 swift closures

我正在查看 Promise 套件的源代码,因为我想扩展它,但我对这个初始化程序感到困惑

public init(@noescape resolvers: (fulfill: (T) -> Void, reject: (ErrorType) -> Void) throws -> Void) { }

特别是

resolvers: (fulfill: (T) -> Void, reject: (ErrorType) -> Void) 

构造函数中似乎有两个参数,由每个闭包签名之间的逗号表示,除了有一个称为解析器的争论标签,并且括号跨越两个闭包...这是什么?

在我的特定用例中,我想在子类中扩展此初始化程序,其中我的客户初始化程序添加子类保留的第三个闭包,但将其他两个传递给 super 。

最佳答案

resolvers 是一个带有两个 lamda 的元组。欲了解更多信息,请查看此处:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html

关于swift - Swift 构造函数中令人困惑的闭包用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33187771/

相关文章:

ios - ARKit 2 中的场景切换

python - 是否可以动态继承仅在 python 运行时才知道的类?

javascript - HTML5/Cordova 中的简单 readFile() 函数

Javascript 闭包对象属性访问器

ios - SceneKit - 凹面碰撞盒

swift - Xcode 如何将按钮添加到 ImageView

ios - setup func 无法更改 viewController 中的背景颜色

ios - 如何从下到上呈现部分高度模态视图 Controller

javascript - 在单个语句中声明具有额外属性的 javascript 函数?

ios - 具有转义闭包的 Swift 泛型函数