Ваша проблема в том, что нет хранимого свойства type
для возврата получателю.type
является вычисляемым свойством.Когда вы пытаетесь прочитать его значение, он вызывает определитель, который вы определили.Этот геттер вызывает геттер, который в свою очередь вызывает геттер, который вызывает геттер ... и так далее.У вас бесконечная рекурсия.
Скорее всего, то, что вы намеревались сделать, это иметь хранимое свойство, которое просто имеет некоторое причудливое поведение, когда бы оно ни было установлено.Вместо использования вычисляемого свойства с пользовательскими get
и set
используйте хранимое свойство с блоком willSet
или didSet
:
@objc var type: DecisionType {
didSet {
let isDecisionDouble = newValue == DecisionType.DecisionDouble
okButton.isHidden = isDecisionDouble;
yesButton.isHidden = !isDecisionDouble;
noButton.isHidden = !isDecisionDouble;
}
}