【发布时间】:2019-08-08 01:27:15
【问题描述】:
我创建了两个视图控制器,例如
Navigation controller -> View Controller -> Details View Controller
1 2 3
(2) View Controller 中有一个按钮,单击该按钮将显示 (3) Details View Controller。我已经创建了一个从按钮到 (3) VC 的 segue。
我在这两个类中添加了deinit 块。
deinit {
print("vc deinit")
}
但是,这不会被记录。视图控制器何时会被释放?
【问题讨论】:
-
所提供的解决方案都没有回答这个问题。
-
是否有任何特殊代码可能导致视图控制器中的保留周期?
-
@jsloop:您的第一个草图显示了原因:导航控制器持有对第一个 VC 的引用。
-
@AhmadF:在这种情况下,根视图控制器是导航控制器。但是,是的,这只是一个评论,并不打算涵盖所有可能的情况。
标签: ios swift uiviewcontroller deinit