Соглашение об именах для методов и свойств в Swift.Могу ли я использовать "получить", "установить" и "это" ключевые слова? - PullRequest
0 голосов
/ 02 марта 2019

Когда я создаю функцию в Swift, могу ли я использовать слова "get" и "set"?Например, я могу объявить функцию как func getAuthorizedUsers() вместо func authorizedUsers()?В ObjectiveC получить и установить ключевые слова не рекомендуется использовать при объявлении функций.Как насчет Swift?

Кроме того, при объявлении свойств я могу использовать ключевое слово "is"?Например:

public var isAuthorized: Bool {
    get {            
        return true
    }
}

Я прочитал документы соглашения об именах Swift, но не смог найти ответ на свой вопрос.Спасибо.

1 Ответ

0 голосов
/ 02 марта 2019

Все правила изложены здесь .

Для get, что явно нарушает правило "Пропускать ненужные слова".Если метод возвращает что-то, сайт вызова будет знать, что он используется для получения некоторого значения.Вам не нужно повторять эту идею.Вы можете рассмотреть возможность преобразования его в вычисляемое свойство, если параметры не требуются.

Для set иногда это может быть уместно.Если вашему методу нужен только один параметр и имеется соответствующий метод получения,

func getFoo() -> Int {
    ...
}

func setFoo(_ foo: Int) {
    ...
}

Это довольно хороший признак того, что его можно превратить в вычисляемое свойство:

var foo: Int {
    get { ... }
    set { ... }
}

Хороший примергде уместно иметь set - метод UIButton.setTitle.Он принимает два параметра, поэтому вычисляемое свойство не будет работать.

Для is, что явно соответствует правилу «Использование булевых методов и свойств следует читать как утверждения о получателе».Так что да, вы должны использовать его для логических членов.

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