我有时看到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中,第一个参数的参数标签将默认为
_
(即无标签),除非另有明确规定。有效的swift 3,第一个参数的工作方式与所有其他参数相同,默认为参数名是什么(这就是为什么在本例中会看到显式引用_
来明确指定swift 3函数的第一个参数没有标签的原因)。关于swift - 文档中的Swift方法参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30293961/