令人困惑的swift构造函数中的闭包使用

时间:2015-10-17 14:35:22

标签: swift closures

我正在查看承诺工具包的源代码,因为我想扩展它,但我对这个初始化器感到困惑

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

特别是

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

似乎是每个闭包签名之间的逗号所指示的构造函数中的两个参数,除了有一个名为resolvers的arguement标签,括号跨越两个闭包......这是什么?

在我的特定用例中,我想在一个子类中扩展这个初始化,我的客户初始化器添加了一个子类保留的第三个闭包,但将另外两个传递给super。

1 个答案:

答案 0 :(得分:2)

解析器是一个有两个lamdas的元组。有关详细信息,请查看此处:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html