【发布时间】:2012-10-10 11:34:23
【问题描述】:
当调用显示操作表时,我间歇性地收到以下错误。
-[UIActionSheet showInView:] 中的断言失败
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效参数不满足:view != nil”
现在在这种情况下,我没有更改屏幕。 UIActionSheet 在触发本地通知时显示,并且我让观察者在此视图上调用本地方法:我将该属性标记为强。当操作表被关闭时,我也将其设置为 nil。我正在为 UI 使用故事板。崩溃它是相当可重复的,也许少于 5 次尝试。 (谢天谢地,我有这样的经历)。有什么建议接下来要尝试什么?我真的把头发拉出来了。我在这个主题上看到的大多数问题都指向一旦做出选择就会发生崩溃。在我的情况下,它是在演示和间歇性的。同样值得一提的是,这个特殊的视图在嵌入式导航控制器中有几个堆栈。 Home>tableview>detail select>有问题的viewController。到目前为止,在 iOS 5.1 和 iOS 6 上的测试中也出现了同样的问题。我认为这与 Show InView 的定位方式有关。
self.actionSheet = [[UIActionSheet alloc]
initWithTitle:@"Select Choice" delegate:self cancelButtonTitle:@"Not Yet" destructiveButtonTitle:@"Do this Now" otherButtonTitles:nil];
[self.actionSheet showInView:self.parentViewController.tabBarController.view];
【问题讨论】:
-
您提供的
UIActionSheet代码与您发布的崩溃不一致。您正在使用showFromTabBar,而崩溃表明您正在使用showInView。 -
你是对的,我已经更新,所以它匹配。我也尝试了以前的也崩溃了。