UIPopoverController解除分配问题

时间:2011-04-06 14:39:23

标签: ipad uipopovercontroller dealloc

我使用Popover在其中显示图像。当用户触摸按钮时,弹出窗口会出现幻灯片显示。

我像这样初始化Popover:`

- (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。

我解雇了这样的Popover:`

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

}`

当我运行我的应用程序时,它一直有效,直到我得到“ - [UIPopoverController release]:消息发送到解除分配的实例0x1b29b0”并且我的应用程序崩溃了...... 我理解我释放了太多时间我的UIPopoverController,但我不知道在哪里。我的实施好吗?

感谢您的帮助

如果您需要更多信息,请告诉我,我会编辑帖子

1 个答案:

答案 0 :(得分:1)

你不应该在这里发布你的popoverController。

您需要在当前视图控制器dealloc方法

中调用detailViewPopover上的release
- (void) dealloc
{
    [detailViewPopover release];
    [super dealloc];
}
相关问题