首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >tabelView函数说明?

tabelView函数说明?
EN

Stack Overflow用户
提问于 2018-09-11 06:02:41
回答 1查看 0关注 0票数 0

我在学习UItableView时遇到了以下函数:

代码语言:javascript
复制
func tableView(_ tableView: UITableView, ....

我从未遇到过在变量部分中使用自己名称的函数。

任何人都可以向我解释这个吗?

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 15:10:46

在您的函数中,第一个tableView是函数的名称,第二个是为其中一个参数指定的名称。

一个简单的函数可以声明如下:

  1. 关键词 func
  2. 他给出了这个功能的名称
  3. 左括号 (
  4. 参数名称(如果有的话),每个参数名称后面跟冒号:然后是冒号,都用逗号分隔,
  5. 右括号 )
  6. 如果此函数返回值,则:
    • 一个箭头->只是一个-和一个>
    • 返回类型

  7. 打开大括号 {
  8. 这是你的功能的主体
    • 如果此函数返回一个值,则使用return关键字后跟要返回的值。

  9. 最后一个闭合支撑 }

这将定义此函数的签名:从另一个函数创建函数的原因是 - 其名称, - 参数的数量和名称及其类型, - 及其返回类型。

(我们可以添加它所属的对象,如果它抛出或不抛出,......)

这是一个带a String和返回另一个的函数的例子。你可以在Xcode的游乐场试试:

代码语言:javascript
复制
//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参数的情况下调用函数,我们可以在参数名之前使用:

代码语言:javascript
复制
func laugh(_ s: String) -> String {
    return s + s
}

laugh("Ha")   //HaHa

如果参数的名称与函数的名称相同,则不会出错:

代码语言:javascript
复制
func name(name: String) {
    print(name)
}

name(name: "Katie")  //prints Katie in the console

现在,我们来看看这个函数签名:

代码语言:javascript
复制
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell

如你看到的,

  • tableView 是函数的名称
  • 第二个tableView是它的第一个参数的名称
  • 下划线_表示调用此函数时无需提及参数名称
  • UITableView 是第一个参数的类型
  • cellForRowAt是第二个参数的外部名称
  • indexPath是第二个参数的内部名称
  • IndexPath是第二个参数的类型
  • -> UITableViewCell 表示此函数返回类型的实例 UITableViewCell

您可能会问一个问题:为什么使用相同的函数名和参数?答案是:

  • 它是所有数据源功能的约定UITableViewDataSource。它更容易记忆,并且使用Xcode自动完成功能变得更加方便。
  • 另外,对您正在使用的tableView进行引用确实很有帮助,并且没有比tableView该参数更清晰的名称。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档