我的问题是这样的:
仍然没有调用子类的viewdidunload!
cdu*_*uhn 11
正如其他人提到的那样,viewDidUnload是UIViewController的一个方法.它不能保证被调用.当应用程序释放控制器的视图以释放内存时,它仅在低内存情况下被调用.这使您有机会发布您可能保留为控制器属性的任何视图的子视图.
如果你在视图控制器的视图上调用removeFromSuperview,那么你可能在它没有设计用来处理的上下文中使用UIViewController.视图控制器旨在管理全屏视图.预计这些视图将在iPhone上的少数几种情况下呈现:
只要您在这些上下文中使用视图控制器(以及iPad上的其他几个上下文),您就可以通过loadView,viewDidLoad,viewWillAppear:animated:,viewDidAppear:animated:,viewWillDisappear可靠地管理视图的生命周期. :animated:和viewDidDisappear:animated:和viewDidUnload方法(同样,请记住viewDidUnload不会总是被调用).
您通常应该将视图控制器的视图传递给addSubview的唯一时间是将根视图控制器的视图添加到窗口时.如果您想尝试使用嵌套视图控制器来管理非全屏子视图,则必须在适当的时间从全屏视图的控制器中手动调用其viewWill/DidAppear/Disappear:animated:和viewDidUnload方法.
| 归档时间: |
|
| 查看次数: |
11362 次 |
| 最近记录: |