【发布时间】:2023-03-20 16:30:01
【问题描述】:
今天遇到一个问题,vc从来不调用deinit,所以我加了一个weak
func showAddCityViewController() {
weak var vc:SWAddCityViewController!
vc = SWAddCityViewController()
vc.delegate = self
let nav = UINavigationController(rootViewController: vc)
dispatch_async(dispatch_get_main_queue(), {
self.presentVC(nav)
})
}
我运行这个函数然后得到一个
致命错误:在展开可选值时意外发现 nil
vc 刚到 nil ,但我不知道为什么,我应该怎么做才能让这段代码快乐?
【问题讨论】:
-
如果你将变量设为
weak,那么该对象将不会被保留。你为什么这样做?普通的let vc = SWAddCityViewController()有什么问题? -
@Thilo 对不起,我是新手,vc 只是不要调用 deinit