我使用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,但我不知道在哪里。我的实施好吗?
感谢您的帮助
如果您需要更多信息,请告诉我,我会编辑帖子
答案 0 :(得分:1)
你不应该在这里发布你的popoverController。
您需要在当前视图控制器dealloc方法
中调用detailViewPopover上的release- (void) dealloc
{
[detailViewPopover release];
[super dealloc];
}