У меня есть переменная, которая инициализирована как:
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 и может быть сброшен сам?