swift - 在方法参数中隐式解包可选闭包

标签 swift closures option-type

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

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

通过使这个隐式解包可选,是否意味着必须提供 completionHandler?如果是这样,为什么还要费心将其设为可选?

最佳答案

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

关于swift - 在方法参数中隐式解包可选闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31764762/

相关文章:

swift - 在 Swift 中使用 UITapGestureRecognizer 检查按下了哪个 ImageView

javascript - javascript中setInterval函数的闭包

java - 为什么Java要堆叠Optionals?

javascript - 我的闭包示例没有像我想的那样工作

ios - Swift 选择器和闭包讨论

c# - 也许是类和可选参数

arrays - 如何将可选整数数组加入字符串?

ios - 检索表中的所有数据? swift ,解析?

ios - 如何快速更改字符串中所有数字的颜色

ios - 第一个单元格静态按钮 - UICollectionViewCell - Swift