0
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    0
}

为什么在返回内置数据类型时即使没有添加return关键字,编译器也不会抛出错误?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    UITableViewCell()
}

而在非内置类型的情况下,它会抛出错误:在预期返回的函数中缺少返回

4

1 回答 1

0

Swift 5.1 增加了省略return具有单个表达式的函数的关键字的能力。见https://github.com/apple/swift-evolution/blob/master/proposals/0255-omit-return.md

它与内置数据类型与非内置数据类型无关;事实上,我什至不确定你的意思。

如果您收到错误,那是因为您的函数不再是单个表达式。

// This compiles
func foo() -> Int {
  42
}

func bar() -> Int {
  #warning("This won't compile")
  42
}
于 2020-01-08T16:20:05.633 回答