我在我的項目中有一個UIPopoverController
與包含UIDatePicker作爲其內容的ViewController。UIPopoverController內存沒有得到釋放後關閉ARC
單擊按鈕時會顯示彈出窗口。彈出&其內容得到分配後,應用程序內存增加約2.5 MiB。
由於我在內存中有兩個獨立的popover實例,它增加了大約5mb。
我的問題是彈出被取消後,它的內存永遠不會被釋放。另外,由於我啓用了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];
}
謝謝保羅。實際上,我用(nonatomic,retain)來設置它的屬性。我在'popoverControllerDidDismissPopover'委託方法中設置了'self.popOver = nil',但仍然沒有釋放內存。 – niks
保留和強壯是一回事。 –
你確定'popoverControllerDidDismissPopover'被調用嗎? –