2011-04-06 121 views
0

我使用Popover在其中顯示圖像。當用戶觸摸一個按鈕時,彈出窗口會出現,並在其中放映幻燈片。UIPopoverController解除分配問題

我初始化酥料餅是這樣的:`

- (IBAction)showPopover:(UIButton *)sender { 
    myPopover *content = [[myPopover alloc] init]; 
    detailViewPopover = [[UIPopoverController alloc] initWithContentViewController:content]; 
    detailViewPopover.popoverContentSize = CGSizeMake(600., 400.); 
    detailViewPopover.delegate = self; 

    [detailViewPopover presentPopoverFromRect:sender.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

    [content release]; 
} 

` detailViewPopover是UIPopoverController,我宣佈它在我的.h。

我駁回酥料餅是這樣的:`

- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController { 
    // If a popover is dismissed, set the last button tapped to nil. 
    [popoverController release]; 

}`

當我運行我的應用程序,它的工作,直到我得到了 「 - [UIPopoverController發佈]:發送到釋放實例0x1b29b0消息」和我的應用程序崩潰... 我明白我釋放了太多的時間我的UIPopoverController,但我不知道在哪裏。我的執行是否好?

感謝您的幫助

讓我知道如果你需要更多的信息,我將編輯後

回答

1

你不應該在這裏釋放你的popoverController。

你需要調用detailViewPopover釋放當前視圖控制器dealloc方法

- (void) dealloc 
{ 
    [detailViewPopover release]; 
    [super dealloc]; 
} 
+0

的順序很重要? 如果我打電話給「[super dealloc]」;之前不工作。 – Mitch 2011-04-06 15:49:28

+0

是的,它是重要的,這將導致超類發佈所有的引用,包括對你的類的引用 – JFoulkes 2011-04-06 15:55:51

+0

謝謝,這是因爲這一點。我修復了UIPopoverController上的釋放問題,但是我得到了與我的UIButton相同的問題,我認爲它來自我的xib文件中的按鈕... 再次感謝 – Mitch 2011-04-06 16:17:49