当popover仍然可见时达到

sat*_*god 6 ipad uipopovercontroller

-(void)showsearch:(id)sender
{
    SearchViewController *searchview =[[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil];

    settingpopoverController = [[[UIPopoverController alloc] 
                                    initWithContentViewController:searchview] autorelease];               
    [searchview release];
    [settingpopoverController presentPopoverFromBarButtonItem:sender 
                                    permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];


}
Run Code Online (Sandbox Code Playgroud)

当我点击按钮时,应用程序崩溃了,我收到了[UIPopoverController dealloc] reached while popover is still visible.消息.

Chr*_*ris 6

这里有关于这个主题的一些很好的讨论:

UIPopoverController,UIActionSheet和模态视图控制器的保留/释放模式?

UIPopoverController和内存管理

它的要点是你需要:

  • 将自动释放的popover分配给retain属性
  • 在视图的dealloc中将属性设置为nil
  • 以及在popoverControllerDidDismissPopover中将其设置为nil.