gpt4 book ai didi

ios - 关闭 UIPopoverController 不会卸载 contentController

转载 作者:行者123 更新时间:2023-11-29 11:09:56 26 4
gpt4 key购买 nike

在我的主 viewController 中,我声明了两个 ivar,如下所示:

UIPopoverController* __popoverController;
HPSQuestionnaireEditorController* _questionnaireEditorController;

然后我显示一个 UIPopOver 如下:

_questionnaireEditorController = [ [ HPSQuestionnaireEditorController alloc ] initWithNibName:nil bundle:nil ];
__popoverController.delegate = self;
[__popoverController setPopoverContentSize:CGSizeMake(400, 500)];
[_questionnaireEditorController setContentSizeForViewInPopover:CGSizeMake(400, 500)];
[__popoverController presentPopoverFromRect:editWrapper.frame inView:editWrapper.superview permittedArrowDirections:UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionRight animated:YES ];

当需要关闭弹出窗口时,我手动执行如下操作:

[__popoverController dismissPopoverAnimated:YES ];
__popoverController = nil;
_questionnaireEditorController.view=nil;
_questionnaireEditorController=nil;

我正在使用 ARC。

在 _questionnaireEditorController 中,我有以下内容:

- (void)viewWillUnload
{
NSLog(@"HPSQuestionnaireEditorController viewWillUnload starting");
}

但是,这永远不会运行。弹出窗口关闭似乎并未实际卸载 View 或其中托管的 Controller 。

我做错了什么?谢谢。

最佳答案

你没有做错任何事。 UINavigationControllers、UIPopoverControllers 和 UITabBarControllers 不需要在 View 离开屏幕时立即卸载它。他们有缓存后端,直到完全不需要或他们需要内存为止。

如果你不需要它来卸载那么你会没事的。别担心。

关于ios - 关闭 UIPopoverController 不会卸载 contentController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12007348/

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