【发布时间】:2014-09-09 10:46:18
【问题描述】:
我有一个导航控制器。第一个viewcontroller 是FirstViewController 的一种。当我在 FirstViewController 中点击一个按钮时,它会将第二个 viewController 推入 navigationController,它是一种 SecondViewController 类。当我点击 SecondViewController 中的按钮时,我想释放 FirstViewController(之前保存在 navigationController 中)以便重新开始,就好像我第一次在 SecondViewController 的 navigationItem 中点击返回按钮时打开 FirstViewController。这是我点击 secondViewController 中的按钮时调用的方法的代码:
NSArray * navigationPath = [self.navigationController viewControllers];
UIViewController *previousVC = [navigationPath objectAtIndex:[navigationPath count]-2];
[previousVC performSelector:@selector(viewDidUnload)];
它不会释放 FirstViewController。有办法吗?
【问题讨论】:
-
你不应该手动解除分配,当对象的保留计数减少到零时,运行时会调用对象的 dealloc 方法,并且不需要解除您的第一个视图控制器,(可能是) rootviewcontroller 你应该改变设计
标签: ios objective-c uiviewcontroller uinavigationcontroller dealloc