我有一个带有自定义后退/主页按钮的项目,当用户点击它时,我打电话:
-(IBAction)backBtnTapped:(id)sender {
[appDelegate.navController popToRootViewControllerAnimated:YES];
}
现在我看到它没有调用viewDidUnload方法。为什么?如何强制在ARC项目中卸载VC(及其中的视图)?
答案 0 :(得分:1)
方法viewDidUnload
只有在视图不在屏幕上时才会显示内存警告,为此您可能需要使用viewDidDisappear:
或viewWillDisappear
< / p>
为了更好地解释viewDidUnload方法,您可以查看以下问题:When is UIViewController viewDidUnload called?
所以你可能不需要关心你的viewDidUnload被调用,只是它做了它需要做的事情。此外,您正在viewDidDisappear:
或viewWillDisappear
照顾您需要照顾的事项。
强制卸载可能不是处理此问题的最佳方法,也许如果您在此方法中有很多逻辑,则需要将其更改为其他方法。不要担心调用release或dealloc,只要确保你的项目中没有循环引用,并且你正确使用弱引用和强引用,这样弧就能正常工作。
希望对你有所帮助!