我有一个ivar,它是UIPopoverController。当它被解雇时,我想清理内存。当popover被取消时,或者当弹出窗口已经呈现给用户时,如果用户按下BarButtonItem,我会调用以下方法。将对象参数设置为零Objective-C
- (void)popoverCleanup:(UIPopoverController *)popoverController {
popoverController.delegate = nil;
popoverController = nil;
}
我设置一个断点,并试图下面的代码,并在寻找记忆。我看到我的ivar Popover和方法参数popoverController都指向相同的内存地址。当我点击第一行时,我看到Popover和popoverController参数上的委托设置为零。但是,当我到达该方法的结尾时,我只看到popoverController的内存设置为零,而IVAR弹出窗口未设置为零。是否有一个原因?
谢谢。
如果我做一个检查,如果(Popover ==零),与contentViewController分配popover,然后在我的清理,我将不得不将它设置为零后释放权? – Crystal
此外,之所以我认为你需要一个弹iv伊维尔是因为如果你不止一次地按下BarButtonItem,另一个弹出会显示在它上面。所以我试图跟踪我是否已经提交了该项目,如果是,请不要提交。 – Crystal