У меня есть переменная, которая инициализирована как:
lazy var aClient:Clinet = {
var _aClient = Clinet(ClinetSession.shared())
_aClient.delegate = self
return _aClient
}()
Проблема в том, что в какой-то момент мне нужно сбросить эту переменную aClient
чтобы она могла снова инициализироваться при изменении ClinetSession.shared()
. Но если я установлю класс по желанию Clinet?
LLVM выдаст мне ошибку, когда я попытаюсь установить его на nil
. Если я просто переустановлю его где-нибудь в коде, используя aClient = Clinet(ClinetSession.shared())
, то получится EXEC_BAD_ACCESS
.
Есть ли способ, который может использовать lazy
и может быть сброшен сам?