gpt4 book ai didi

objective-c - 尝试调试 'Assertion failure in -[UIActionSheet showInView:]' 错误

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:04 24 4
gpt4 key购买 nike

我正在学习“开始 iPad 应用程序开发”,但在第 3 章中挂断了,我在第 3 章创建了一个使用 Action Sheet 的项目。

就目前而言,我的应用程序可以很好地加载到模拟器中,没有我知道的任何错误,但在运行时,它会崩溃,并在调试器窗口中显示以下错误:

2010-05-31 19:44:39.703 UsingViewsActionSheet[49538:207] *** Assertion failure in -[UIActionSheet showInView:], /SourceCache/UIKit_Sim/UIKit-1145.66/UIAlert.m:7073

2010-05-31 19:44:39.705 UsingViewsActionSheet[49538:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: view != nil

'

根据我对断点的使用,我确信这是应用中断的 block 。

//实现 viewDidLoad 以在加载 View 后进行额外的设置,通常是从 nib。


-(无效)viewDidLoad {
UIActionSheet *action = [[UIActionSheet alloc]
initWithTitle:@"这是我的行动表!"
代表: self
取消按钮标题:@“确定”
destructiveButtonTitle:@“删除消息!”
otherButtonTitles:@"Option 1", @"Option 2", @"Option 3", nil];



[action showInView:self.view];//<-- 这一行似乎触发了崩溃....
[ Action 释放];
[ super viewDidLoad];

}

我是不是漏掉了一些明显的东西,或者问题比这里显示的还要多?我已经查看了 showInView 的摘要,但还无法预测其中的任何内容。

我感谢所有的帮助。

问候,

史蒂夫·奥沙利文

最佳答案

在 viewDidLoad 方法中, View 并未完全设置。窗口属性未连接。

NSLog(@"View: %@; Window: %@",[self.view description], [self.view.window description]);

可能会显示窗口为 null/nil。

根据您的设计,您可能很幸运,只需在主线程上排队即可:

-(void) showMyActionSheet
{
UIActionSheet *action = [[UIActionSheet alloc] initWithTitle:@"This is my Action Sheet!" delegate:self cancelButtonTitle:@"OK" destructiveButtonTitle:@"Delete Message!" otherButtonTitles:@"Option 1", @"Option 2", @"Option 3", nil];
[action showInView:self.view];
[action release];
}

- (void)viewDidLoad
{
[super viewDidLoad];
[self performSelectorOnMainThread:@selector(showMyActionSheet) withObject:nil waitUntilDone:NO];
}

关于objective-c - 尝试调试 'Assertion failure in -[UIActionSheet showInView:]' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2947058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com