我想知道是否有可能在我的视图控制器中使用惰性属性,并在deinit
方法中调用我的惰性属性的方法,前提是它已被初始化。下面是一些代码:
fileprivate lazy var session: MySession = {
let session: MySession = MySession()
session.delegate = self
return session
}()
deinit {
session.delete()
}
这样,当session.delete()
indeinit
方法被调用并且session
没有被使用时(仍然如此nil
),它被初始化然后delete
被调用。我不想要这个。我delete
只想session
在之前初始化的情况下打电话。
有没有办法做到这一点?我要放弃懒惰的初始化想法吗?