我有一个标签栏应用程序,我遇到了一个奇怪的行为....当我切换标签栏并进入新的视图控制器有时这些视图控制器的viewDidLoad被调用...虽然应该调用viewDidLoad只是第一次...... 任何人都可以告诉......任何建议吗?
答案 0 :(得分:2)
如果内存警告不足,则标签栏控制器将释放所有不可见的视图。这意味着您可以多次调用viewDidLoad,因为视图已被卸载。
答案 1 :(得分:1)
您的应用是否内存密集,或许是您收到内存警告?虽然我没有经历过你所描述的行为,但由于内存不足,可能会因为内存不足而释放出看不见的视图。当他们接下来进入视图时,他们需要重新初始化,调用viewDidLoad
。
答案 2 :(得分:0)
你确定它是viewDidLoad,而不是viewWillAppear?
viewDidLoad只会在每个UIViewController子类中调用一次,所以如果您的布局是这样的:
-UITabBarController:
- HappyUIViewController
- SadUIViewController
- ThirdUIViewController
然后将调用viewDidLoad三次。一次用于HappyUIViewController,一次用于SadUiViewController,依此类推。