Почему Xcode не выдает ошибку компиляции?
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
0
}
Почему компилятор не выдает ошибку, даже если ключевое слово return не добавлено при возврате встроенных типов данных?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
UITableViewCell()
}
Принимая во внимание, что в случае не встроенных типов он выдает ошибку: отсутствует возврат в функции, которая должна вернуть
1 ответ
Решение
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
}