说"deinit在viewDidLoad之前执行“是没有意义的。如果不是亲眼所见,我是不会相信的。然而,在我的项目(Xcode8和Swift2.3)上,它确实100%地发生了。
有什么原因会发生这种奇怪的事情吗?
发布于 2017-02-09 08:22:00
当然,将视图控制器初始化为局部变量,不要访问它的视图,也不要将它添加到视图层次结构中并离开当前作用域。视图控制器将取消初始化,viewDidLoad()将永远不会被调用。
请记住,只有在首次显式访问视图控制器的view属性时,或者在视图控制器上调用loadView()或loadViewIfNeeded()时,才会调用viewDidLoad()。
发布于 2019-05-18 04:05:42
有类似的经历,发现我错误地调用了相同的segue两次。构造的第一个视图控制器立即被取消初始化(在viewDidLoad之前)。
https://stackoverflow.com/questions/42125465
复制相似问题