【发布时间】:2018-11-08 00:36:11
【问题描述】:
我有这个视图层次结构
RouterDashboardViewController : RootViewController
RootViewController : UIViewController
目前,RouterDashboardViewController 实例位于导航堆栈中。当我重置 NavigationController 的 rootViewController 时,RouerDashboardInstance 仍然存在于内存中,因为我可以检查我的 deinit{} 方法没有被调用。下面是 Instruments 中的堆栈跟踪,但无法检测到我的 RouterDashboard 实例没有被释放的任何原因。我确信会有保留周期使 RouterDashboard 实例仍然存在。还有一件事我不理解这些堆栈跟踪,因为 ViewDidLoad() 方法调用了多次。
【问题讨论】:
-
显示代码。至少有 viewDidLoad 方法。
-
@CaptainAlina viewDidLoad方法代码很多,你可能看不懂。
-
@CaptainAlina 但我已经让我的代表变弱了
-
如果您不显示您的代码,人们将无法提供帮助。这取决于你。
-
别忘了您可以查看内存图以查看哪些对象正在保留它。这可能会给你一个线索。
标签: ios swift memory-leaks automatic-ref-counting retain-cycle