当我尝试呈现UIPopoverController时崩溃/ SIGABRT

时间:2011-11-11 22:01:00

标签: ios crash ios5 uipopovercontroller xcode4.2

嗨,我知道我在这里做错了什么。我正在使用ios5,如果我不调用presentPopoverFromBarButtonItem,则不会崩溃。有没有人经历过类似的事?我检查了苹果开发者论坛,谷歌,堆栈溢出,找不到任何东西。

在gdb上运行bt也没有显示任何提示。

UIViewController *viewTwo;
viewTwo = [[ViewTwo alloc] initWithNibName:@"ViewTwo" bundle:nil];

UIPopoverController *popover;
popover = [[UIPopoverController alloc] initWithContentViewController:viewTwo];  

[popover presentPopoverFromRect:[theButton bounds] 
                         inView:theButton 
       permittedArrowDirections:UIPopoverArrowDirectionLeft 
                       animated:NO];

1 个答案:

答案 0 :(得分:22)

我假设您正在使用ARC,因为我遇到了同样的问题。您必须保留已创建的弹出窗口,否则其保留计数将减少,并且当您到达方法范围的末尾时它将被释放。

因此,创建一个属性并对其进行合成,直到您不再需要它并将其从屏幕中删除,在删除它后将其设置为nil。