2012-12-04 25 views
0

我對iOS編程比較新,所以我會盡我所能來描述我遇到的問題。如果我可以提供一些額外的信息來澄清事情,請告訴我。UIPickerView裏面的UIPopoverController內存泄漏

我目前在我的應用程序中的UIPopoverController內顯示UIPickerView。我遇到的問題是當我使用泄漏工具進行分析時,每次popover被解散時都會彈出內存泄漏。這裏是初始化popover和picker視圖的代碼。

// Show the popover 
CGRect cellRect = [tableView rectForRowAtIndexPath:indexPath]; 

UIViewController *vc = [[UIViewController alloc] init]; 
[vc setContentSizeForViewInPopover:CGSizeMake(320, 216)]; 

UIPickerView *pv = [[UIPickerView alloc] init]; 
[pv setShowsSelectionIndicator:YES]; 
[pv setDataSource:self]; 
[pv setDelegate:self]; 

[[vc view] addSubview:pv]; 
inputPopoverController = [[UIPopoverController alloc] initWithContentViewController:vc]; 
[inputPopoverController setDelegate:self]; 
[pv selectRow:selection inComponent:0 animated:NO]; 
vc = nil; 
pv = nil; 

[inputPopoverController presentPopoverFromRect:cellRect inView:[self view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

inputPopoverController被聲明爲

UIPopoverController *inputPopoverController; 

這裏的地方我釋放酥料餅的控制器,我已經證實,該函數被調用每次酥料餅被解僱的時間。

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController { 
inputPopoverController = nil;} 

儀器示出了在以下兩個位置

[pv selectRow:selection inComponent:0 animated:NO]; 

[inputPopoverController presentPopoverFromRect:cellRect inView:[self view] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

預先感謝泄漏。

回答

0

經過幾天的打破我的頭後,事實證明我需要實現一個UIPickerView委託方法。這裏是我找到我的答案的地方here