在方法参数中隐式解包可选的Closure

时间:2015-08-01 18:15:42

标签: swift closures optional

SwiftHTTP中,它的GET方法有以下代码:

public func GET(url: String, 
                parameters: Dictionary<String,AnyObject>?, 
                completionHandler:((HTTPResponse) -> Void)!) { ... }

通过使这个隐式解包的可选项,是否意味着必须提供completionHandler?如果是这样,为什么还要选择它?

1 个答案:

答案 0 :(得分:2)

隐式展开的可选项意味着您在技术上可以传递nil,但它是否崩溃取决于代码的其余部分。在这种情况下,it appears表示completionHandler为零的情况正确处理(因此您不必提供一个)。我只想说这是一个次优的API:)