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

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

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

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

那么快速帮助如下所示:

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

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

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

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

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

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

猜你在找的Swift相关文章