文档中的Swift方法参数

时间:2015-05-18 01:39:19

标签: swift

我有时会将Swift方法记录为application(_:didFinishLaunchingWithOptions:)tableView(_:cellForRowAtIndexPath:)。这些通用方法文档约定在哪里记录?例如:我在哪里可以看到下划线的含义,如何解释以这种方式记录的多个方法参数等。

1 个答案:

答案 0 :(得分:1)

约会在The Swift Programming Language: Functions中说明。这是函数的外部签名,即调用它时需要知道的内容。它由函数名称以及该函数的所有参数的所有参数标签组成。

考虑

libc

这是func greet(person: String) -> String { ... } 函数。

但请考虑以下稍微复杂的Swift 3 UITableViewDataSource方法:

greet(person:)

这里,这两个参数中的每一个都有一个参数标签(调用函数时使用的参数)后跟一个参数名称(用于在函数内部引用该参数的内容)。在这种情况下,第一个参数没有参数标签(由func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { ... } 指定),但名称为_。第二个参数的参数标签为tableView,名称为cellForRowAt

在这种情况下,您会看到上面引用的indexPath方法为tableView(_:cellForRowAt:):函数名称为UITableViewDataSource,第一个参数没有参数标签(由{指定) {1}}),第二个参数的参数标签为tableView

另外,在Swift版本2中,除非另有明确说明,否则第一个参数的参数标签将默认为_(即无标签)。有效的Swift 3,第一个参数与所有其他参数的工作方式相同,默认为参数名称(这就是为什么你会看到cellForRowAt在这种情况下显式引用的原因,以明确指定这个Swift 3功能的第一个参数没有标签)。