加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:37:46 所属栏目:百科 来源:网络整理
导读:在Xcode 8 beta和Swift 3中,当您有一个以闭包为参数的方法时,例如: func foo(bar: (String) - Void) { bar("Hello,world")} 如何记录关闭所需的参数?例如,如果我写道: /// Calls bar with "Hello,world"/// - parameter bar: A closure to callfunc foo(b
在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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读