最佳答案
我有一个初始化为:
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
和被允许重置自己?