只有在视图控制器打开时才会调用deinit

时间:2016-05-10 11:11:06

标签: ios swift memory-management memory-leaks deinit

这与内存泄漏问题有关。我有一个视图控制器,通过调用performSegueWithIdentifier显示,并通过调用self.dismissViewController关闭。我在这个视图控制器中有一个deinit函数,但是当调用dismissViewController时它不会被调用,它只在显示视图控制器时被调用。有人可以解释为什么我会看到这种不寻常的行为吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您的演示控制器中可能有一个强大的第二个控制器参考。因此,当你解雇时,deinit不会被召唤。如果再次出现,则前一个实例会被删除。