首先,我将我的应用程序移植到ARC,并且一切似乎都正常。但是现在我发现了一个问题:我有一个UINavigationController,它以模态方式呈现,并带有一些在其堆栈上的UIViewControllers。但是当我关闭模态视图控制器时,堆栈中的视图控制器似乎没有被释放。这是我做的:
UIViewController* root = [[UIViewController alloc] init];
UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:root];
[self presentModalViewController:navi animated:TRUE];
接着我推了一些视图控制器,但这并不重要。实际上,当我稍后调用时
[self dismissModalViewControllerAnimated:TRUE];
根控制器并没有被释放。当然,在我的代码中,root是UIViewController的一个子类,并且我追踪了dealloc和viewDidUnload,但是没有任何东西被调用。
有什么想法吗?