使用UINavigationController的ARC项目和发布屏幕

时间:2012-08-29 14:03:22

标签: objective-c ios uinavigationcontroller automatic-ref-counting

我有一个带有自定义后退/主页按钮的项目,当用户点击它时,我打电话:

  -(IBAction)backBtnTapped:(id)sender {
    [appDelegate.navController popToRootViewControllerAnimated:YES];
}

现在我看到它没有调用viewDidUnload方法。为什么?如何强制在ARC项目中卸载VC(及其中的视图)?

1 个答案:

答案 0 :(得分:1)

方法viewDidUnload只有在视图不在屏幕上时才会显示内存警告,为此您可能需要使用viewDidDisappear:viewWillDisappear < / p>

为了更好地解释viewDidUnload方法,您可以查看以下问题:When is UIViewController viewDidUnload called?

所以你可能不需要关心你的viewDidUnload被调用,只是它做了它需要做的事情。此外,您正在viewDidDisappear:viewWillDisappear照顾您需要照顾的事项。

强制卸载可能不是处理此问题的最佳方法,也许如果您在此方法中有很多逻辑,则需要将其更改为其他方法。不要担心调用release或dealloc,只要确保你的项目中没有循环引用,并且你正确使用弱引用和强引用,这样弧就能正常工作。

希望对你有所帮助!