为什么 Xcode 不会抛出编译错误?
Why does Xcode does not throw compilation error?
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
0
}
为什么在 returning 内置数据类型时即使没有添加 return 关键字编译器也不会抛出错误?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
UITableViewCell()
}
而在非内置类型的情况下,它会抛出错误:Missing return in a function expected to return
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
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
0
}
为什么在 returning 内置数据类型时即使没有添加 return 关键字编译器也不会抛出错误?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
UITableViewCell()
}
而在非内置类型的情况下,它会抛出错误:Missing return in a function expected to return
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
}