我在学习UItableView时遇到了以下函数:
func tableView(_ tableView: UITableView, ....
我从未遇到过在变量部分中使用自己名称的函数。
任何人都可以向我解释这个吗?
发布于 2018-09-11 15:10:46
在您的函数中,第一个tableView
是函数的名称,第二个是为其中一个参数指定的名称。
一个简单的函数可以声明如下:
func
(
:
然后是冒号,都用逗号分隔,
)
->
只是一个-和一个>{
return
关键字后跟要返回的值。}
这将定义此函数的签名:从另一个函数创建函数的原因是 - 其名称, - 参数的数量和名称及其类型, - 及其返回类型。
(我们可以添加它所属的对象,如果它抛出或不抛出,......)
这是一个带a String
和返回另一个的函数的例子。你可以在Xcode的游乐场试试:
//Declare the function
func sayHiTo(person: String) -> String {
let greeting = "Hello " + person
return greeting
}
//Invoke it
sayHiTo(person: "Sara") //"Hello Sara"
你可以看到我们是如何在最后一行调用函数:sayHiTo(person: "Sara")
?要调用函数,请按照下列步骤操作:
2.
上一个列表相同)(
:
,然后是其类型。_
如果我们想在没有声明name参数的情况下调用函数,我们可以在参数名之前使用:
func laugh(_ s: String) -> String {
return s + s
}
laugh("Ha") //HaHa
如果参数的名称与函数的名称相同,则不会出错:
func name(name: String) {
print(name)
}
name(name: "Katie") //prints Katie in the console
现在,我们来看看这个函数签名:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
如你看到的,
tableView
是函数的名称tableView
是它的第一个参数的名称_
表示调用此函数时无需提及参数名称UITableView
是第一个参数的类型cellForRowAt
是第二个参数的外部名称indexPath
是第二个参数的内部名称IndexPath
是第二个参数的类型-> UITableViewCell
表示此函数返回类型的实例 UITableViewCell
您可能会问一个问题:为什么使用相同的函数名和参数?答案是:
UITableViewDataSource
。它更容易记忆,并且使用Xcode自动完成功能变得更加方便。tableView
该参数更清晰的名称。https://stackoverflow.com/questions/-100006117
复制相似问题