Ipad 在popover仍然可见时到达
当我点击按钮时,应用程序崩溃,我在popover仍然可见时到达了Ipad 在popover仍然可见时到达,ipad,uipopovercontroller,Ipad,Uipopovercontroller,当我点击按钮时,应用程序崩溃,我在popover仍然可见时到达了[UIPopopOvercontroller dealloc]。消息。认为自动释放不正确,这里有一个教程 问题是您正在设置 -(void)showsearch:(id)sender { SearchViewController *searchview =[[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil];
[UIPopopOvercontroller dealloc]。
消息。认为自动释放不正确,这里有一个教程
问题是您正在设置
-(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];
}
当你想做的时候
settingpopoverController =
自动释放是正确的。第二个使用属性访问器,第一个只使用iVar。关于这个主题,这里有一些很好的讨论: 要点是你需要:
- 将自动删除的popover分配给保留属性
- 在视图的dealloc中将属性设置为nil
- 以及在PopOvercontrollerdDismissPopOver中将其设置为零
自动释放
是导致代码崩溃的原因。要么你retain
你的UIPopoverController
要么经历OP询问的崩溃。@Sanjit Saluja,在Obj-c 2.0及更高版本中,第二种语法——假设它是“retain”属性——将在OP调用autorelease的UIPopoverController
上调用“retain”。否则,当当前方法结束时,UIPopoverController
将自动删除,达到保留计数0,并被解除锁定。如果您认为我遗漏了什么,请告诉我。
self.settingpopoverController =