Ipad UIPopoverController解除分配问题

Ipad UIPopoverController解除分配问题,ipad,uipopovercontroller,dealloc,Ipad,Uipopovercontroller,Dealloc,我用了一个Popover来显示里面的图像。当用户触摸一个按钮时,弹出窗口会显示一个幻灯片 我按如下方式初始化Popover:` - (IBAction)showPopover:(UIButton *)sender { myPopover *content = [[myPopover alloc] init]; detailViewPopover = [[UIPopoverController alloc] initWithContentViewController:content

我用了一个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];
}
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
    // If a popover is dismissed, set the last button tapped to nil.
    [popoverController release];
` detailViewPopover是一个UIPopopOvercontroller,我声明它是my.h

我对流行音乐的看法如下:`

- (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];
}
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
    // If a popover is dismissed, set the last button tapped to nil.
    [popoverController release];
}`

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

谢谢你的帮助


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

您不应在此处释放popoverController

您需要在当前视图控制器dealloc方法中调用detailViewPopover上的release

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

订单很重要吗?如果我在之前调用“[super dealoc];”则无效。是的,这很重要,这将导致超类释放其所有引用,包括对您的类的引用。谢谢,正因为如此。我修复了UIPopoverController上的解除分配问题,但我的UIButton也遇到了同样的问题,我认为这是来自我的xib文件中的按钮。。。再次感谢