Я хочу lazily-initialized свойство, инициализатор которого я могу вызвать снова, если я установил свойство в nil.
Если я определяю свое свойство следующим образом:
lazy var object = { /*init code*/ }()
... и позже вызывать свойство, инициализатор запускается один раз. Однако, если я установил object
в nil позже в моей программе, инициализатор не будет снова вызван. Как это сделать в Swift?
Я просмотрел вычисляемые свойства, но на самом деле они не хранят значения, поэтому всякий раз, когда я вызываю переменную, всегда происходит вычисление или инициализация. Я хочу вычислять только тогда, когда свойство равно nil.