释放与导航控制器关联的视图控制器



我有一个导航控制器,我似乎无法理解的一件事是,为什么当我弹出视图控制器时,它没有被释放。

当我将其添加到导航控制器时,我释放了它,这对我来说意味着现在导航控制器负责管理视图控制器。

但是当我弹出导航控制器时,我可以看到弹出的视图控制器仍然徘徊。我知道这一点,因为通知观察者仍在执行。

我还尝试从视图中删除导航控制器,释放并将其设置为 nil,但我的视图控制器仍然徘徊不前。

当视图控制器被弹出或释放导航控制器本身时,我可以在哪里以及如何从导航控制器释放它们?

谢谢。

你提到了通知观察者...那么视图控制器是否已添加到通知中心?如果是这种情况,我认为通知中心保留了视图控制器。在viewWillDisappear中将其作为观察者删除,然后在dealloc中抛出NSLog,看看它现在是否正确发布。

最新更新