我有时会看到 Swift 方法记录为 application(_:didFinishLaunchingWithOptions:)
或 tableView(_:cellForRowAtIndexPath:)
。这些通用方法文档约定记录在哪里?例如:我在哪里可以看到下划线的含义,如何解释以这种方式记录的多个方法参数等。
最佳答案
约定在 The Swift Programming Language: Functions 中说明。 .这是函数的外部签名,即调用它需要知道的内容。它由函数名称以及该函数所有参数的所有参数标签组成。
考虑
func greet(person: String) -> String {
...
}
这是 greet(person:)
函数。
但请考虑以下稍微复杂的 Swift 3 UITableViewDataSource
方法:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
...
}
这里,这两个参数中的每一个都有一个参数标签(调用函数时使用的),后跟参数名称(用于在函数本身内部引用该参数的名称)。在这种情况下,第一个参数没有参数标签(由 _
指定),但名称是 tableView
。第二个参数的参数标签是cellForRowAt
,名称是indexPath
。
在这种情况下,您会看到上面的 UITableViewDataSource
方法被引用为 tableView(_:cellForRowAt:)
: 函数名为tableView
,第一个参数没有实参标签(用_
指定),第二个参数有实参标签cellForRowAt
.
顺便说一句,在 Swift 版本 2 中,第一个参数的参数标签将默认为 _
(即没有标签),除非另有明确说明。 Effective Swift 3,第一个参数与所有其他参数一样工作,默认为任何参数名称(这就是为什么你会看到 _
在这种情况下明确引用,明确指定这个Swift 3 函数的第一个参数没有标签)。
关于文档中的 Swift 方法参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30293961/