在Swift 3中如何记录函数的闭包参数的参数?

前端之家收集整理的这篇文章主要介绍了在Swift 3中如何记录函数的闭包参数的参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Xcode 8 beta和Swift 3中,当您有一个以闭包为参数的方法时,例如:
func foo(bar: (String) -> Void) {
    bar("Hello,world")
}

如何记录关闭所需的参数?例如,如果我写道:

/// Calls bar with "Hello,world"
/// - parameter bar: A closure to call
func foo(bar: (String) -> Void) {
    bar("Hello,world")
}

那么快速帮助如下所示:

我想知道什么语法将允许我写一些文本来替换“没有描述”.非常感谢!

据我所知,如果您标记它们,您只能记录关闭参数:
/// Calls bar with "Hello,world"
/// - parameter bar: A closure to call
/// - parameter theString: A string to use
func foo(bar: (theString: String) -> Void) {
    bar(theString: "Hello,world")
}

这是不太理想的:它强制您在调用闭包时使用参数标签,如果有命名冲突,似乎没有办法区分两者.

编辑:as @Arnaud指出,您可以使用_来阻止在调用闭包时使用参数标签

/// Calls bar with "Hello,world"
/// - parameter bar: A closure to call
/// - parameter theString: A string to use
func foo(bar: (_ theString: String) -> Void) {
    bar("Hello,world")
}

事实上,这是Swift 3中唯一有效的方法,因为参数标签不再是类型系统的一部分(参见SE-0111).

猜你在找的Swift相关文章