我在导航堆栈上弹出一些视图控制器后出现此错误,最后我通过操作表询问问题。我得到的错误参数不满足view != nil
,这让我抓狂,因为它在调用操作表之前检查时不是nil
值。
if (self.view != nil) {
NSLog(@"view is not nil");
}
UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"title" delegate:nil cancelButtonTitle:@"cancel" destructiveButtonTitle:@"destructive" otherButtonTitles:nil];
[actionSheet showInView:self.view];
答案 0 :(得分:5)
您尝试显示UIActionSheet的视图很可能尚未附加到窗口。将视图附加到窗口后尝试调用showInView。假设上面的代码在视图控制器实现中,请尝试在viewDidLoad而不是loadView中调用它。
答案 1 :(得分:1)
我不得不去[self performSelector:withObject:afterDelay:1。]每次弹出后,我猜它必须对视图的状态做些什么。需要显示。
答案 2 :(得分:1)
showInView 给了我无效参数不满意:view!= nil 异常..所以我尝试了[self.view addSubview action sheet];
答案 3 :(得分:0)
当Xcode 4.6.2中的单元测试遇到应该呈现UIActionSheet的行时,会发生此错误。它在旧版本的Xcode中没有出现。我认为这是因为类似的问题 - 在单元测试期间没有任何意见。
我通过编写测试来修改底层数据然后测试它,而不是提供一个操作表然后选择一个按钮,并向Apple提交了一个错误报告。