【发布时间】:2012-07-02 10:11:31
【问题描述】:
我的项目中有一个UIPopoverController,其中一个 ViewController 包含一个 UIDatePicker 作为其内容。
单击按钮时会显示一个弹出框。在分配弹出框及其内容后,应用程序内存增加了大约 2.5 MiB。
由于我在内存中有 2 个单独的弹出框实例,它增加了大约 5mb。
我的问题是弹出框被关闭后,它的内存永远不会被释放。另外,因为我启用了 ARC,所以我无法手动释放它。
任何人都可以指导我如何在与 ARC 一起使用时弹出窗口被解除时释放内存。
以下是代码:
-(IBAction)btnDateSelect:(id)sender
{
CGRect popoverRect;
appDelegate.objDtPicker = [[ViewDatePicker alloc]init];
appDelegate.objDtPicker.delegate = self;
self.popOver = [[UIPopoverController alloc]initWithContentViewController:
appDelegate.objDtPicker];
popOver.delegate = self;
if ([sender tag] == 70)
{
popoverRect = [self.view convertRect:[btnFromDate frame]
fromView:[btnFromDate superview]];
bFromDate = TRUE;
bToDate = FALSE;
}
else
{
bFromDate = FALSE;
bToDate = TRUE;
popoverRect = [self.view convertRect:[btnToDate frame]
fromView:[btnToDate superview]];
}
popOver.popoverContentSize=CGSizeMake(400.0,216.0);
[popOver presentPopoverFromRect:popoverRect inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:NO];
}
【问题讨论】:
标签: objective-c ios automatic-ref-counting uipopovercontroller