HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 尝试调试'[UIActionSheet showInView:]’中的’断言失败’错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在完成“开始iPad应用程序开发”,并且在第3章中我已经创建了一个与Action Sheet一起工作的项目.

就像现在一样,我的应用程序很好地加载到模拟器中没有我知道的@L_@R_801_11235@_1@,但是当它运行时,它会在调试器窗口中显示以下@L_@R_801_11235@_1@而崩溃:

我确信这是应用程序基于我使用断点而中断的块.

//在加载视图后,通常从nib实现viewDidLoad以进行其他设置.

– (void)viewDidLoad {
    UIActionSheet * action = [[UIActionSheet alloc]
                             initWithtitle:@“这是我的行动表!”
                             委托:自我
                             cancelButtontitle:@ “OK”
                             destructiveButtontitle:@“删除消息!”
                             otherButtontitles:@“Option 1”,@“Option 2”,@“Option 3”,nil];

[action showInView:self.view];  // <-- This line seems to trigger the crash....
[action release];
[super viewDidLoad];

}

我错过了一些明显的东西,还是问题比​​这里显示的更多?我已经查看了showInView的摘要,并且还无法对其进行任何修改.

我感谢任何和所有的支持.

问候,

史蒂夫奥沙利文

解决方法

在viewDidLoad方法中,视图未完全设置.窗口属性未连线.

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 – 尝试调试'[UIActionSheet showInView:]’中的’断言失败’错误全部内容,希望文章能够帮你解决objective-c – 尝试调试'[UIActionSheet showInView:]’中的’断言失败’错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。