我有时会将Swift方法记录为application(_:didFinishLaunchingWithOptions:)
或tableView(_:cellForRowAtIndexPath:)
。这些通用方法文档约定在哪里记录?例如:我在哪里可以看到下划线的含义,如何解释以这种方式记录的多个方法参数等。
答案 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功能的第一个参数没有标签)。