在我的主视图控制器中,我有两个 ivars 声明如下:
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");
}
但是,这永远不会运行。弹出框解除似乎并未实际卸载视图或其中托管的控制器。
我究竟做错了什么?谢谢。