Имеет ли Swift 4.2 прямую поддержку частного сеттера, который может быть записан с помощью наследования? - PullRequest
0 голосов
/ 08 сентября 2018

Я бы хотел написать в Swift эквивалент приведенного ниже кода:

public class A {
    public fileprivate(set) a: Int = 0
}

Чтобы я мог сделать:

public class B: A {
    public func updateA() { a = 1 }
}

Конечно, не требуя дополнительного _a участника.

Возможно ли это?

Примечание: я знаю о существовании public private (set), но это мешает писать через наследование.

1 Ответ

0 голосов
/ 11 сентября 2018

Нет, в swift это по-прежнему невозможно, также это противоречит парадигме контроля доступа

Если приватные переменные могут быть установлены извне, они не будут оставаться приватными, вы можете использовать внутренние или публичные

...