Xcode 11 начал игнорировать пропущенные ошибки оператора return? - PullRequest
0 голосов
/ 24 февраля 2020

Мой коллега не может скомпилировать проект (я думаю, что он на более старой версии XCode, я на 11.2.1). Но почему-то код ниже работал и компилируется для меня? Я думаю, что я должен получить синтаксические ошибки из-за пропущенных return операторов?

    override func serviceType() -> ServiceType {
        .base
    }

    override func operationType() -> NQOType {
        .Post
    }

    override func doesSupportOffline() -> Bool {
        false
    }

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Посмотрите здесь: https://docs.swift.org/swift-book/LanguageGuide/Functions.html

Функции с неявным возвратом: Если все тело функции является одним выражением, функция неявно возвращает это выражение. Например, обе функции ниже имеют одинаковое поведение:

func greeting(for person: String) -> String {
    "Hello, " + person + "!"
}

Полное определение функции приветствия (для :) - это приветствие, которое она возвращает, что означает, что она может использовать это более короткая форма.

0 голосов
/ 24 февраля 2020

Теперь это работает, поскольку Swift 5.1 поддерживает неявные операторы return. Если тело функции является одним оператором, ключевое слово return можно безопасно опустить, так как этот оператор считается оператором возврата. Это также относится к закрытиям. Дополнительную информацию можно найти в документации Swift

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...