我的视图控制器包含UIScrollView
,UIButtons
,UILabels
和UIViews
。当我第二次访问同一个视图控制器时,例如使用不同的标签文本值,我仍然可以看到第一次访问视图控制器之前的对象。这是我用来弹出视图控制器的代码:
navigationController?.popViewController(animated: true)
dismiss(animated: true, completion: nil)
答案 0 :(得分:0)
听起来第二个视图控制器在弹出时不是deinit
。
将以下代码添加到第二个视图控制器(仅deinit
部分),并查看弹出时是否调用它。
class MySecondViewController: UIViewController {
deinit {
print("Second view controller popped!")
}
override func viewDidLoad() { ... }
}
如果没有调用它,那么你在视图控制器之间有一些强引用。