gpt4 book ai didi

ios - 自定义 UIViewController viewDidUnload 永远不会被调用

转载 作者:行者123 更新时间:2023-11-29 04:43:30 25 4
gpt4 key购买 nike

我有一个自定义的 UIViewController 子类,它自己处理所有 View 初始化(它不使用 nib)。还有另一个从 nib 加载的 UIViewController 子类。两者都包含在 UITabBarController 中。当出现内存警告时,第一个 Controller 确实会收到通知,但 viewDidUnload 不会被调用。第二个 Controller 也收到通知,并且它的 viewDidUnload 确实被调用。我检查了 didReceiveMemoryWarning,self.isViewLoaded 为 TRUE,self.view.superview 为 null。通知出现时,两个 Controller (其选项卡)都是不可见的。

自定义 View Controller 是否应该做一些特殊的事情才能在内存警告的结果中卸载?

最佳答案

如果您要子类化 UIViewContoller 并且不从 NIB 初始化它,则需要子类化 -loadView 方法。否则,iOS 假定 View 无法卸载/重新加载。

只需将以下内容添加到您的实现中就足够了:

- (void)loadView {
[super loadView];
}

我会尝试找到相关的文档引用。

The documentation is unfortunately not very clear on this matter.

关于ios - 自定义 UIViewController viewDidUnload 永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com