当我从另一个警报创建警报时,我得到 wait_fences: failed to receive reply
Posted
技术标签:
【中文标题】当我从另一个警报创建警报时,我得到 wait_fences: failed to receive reply【英文标题】:When I create an Alert from another Alert, I get wait_fences: failed to receive reply 【发布时间】:2012-06-15 05:45:30 【问题描述】:我想从警报中创建警报。但它崩溃了。 我使用 under 代码创建警报:
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:inMessage delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[alert show];
错误信息是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSError isEqualToString:]: unrecognized selector sent to instance 0x88b84c0'
看起来 inMessage 已经发布。所以我将 inMessage 更改为 @"test test"。它有效,但退出wait_fences: failed to receive reply:10004003
如何在警报中创建警报?
【问题讨论】:
如果 NSString 是问题,那么您的共享代码将无法帮助我们解决您的问题,对吗?请向我们展示您的字符串 init 以及警报中的警报是什么意思?您的意思是您在警报委托方法中获得用户响应,然后您正在创建另一个警报。我说的对吗?wait_fences
与此崩溃无关。看起来你正在做一些if ([err isEqualToString:@"someTest..."])...
- 有问题。
这个NSString没有什么特别之处,所以我就不贴出来了。我使用 NSLog 打印出这个 NSString,所以它不是零。这是初始化代码: NSString *inMessage = [userInfo objectForKey:@"NSUnderlyingError"]; NSLog(@"错误是:%@", inMessage);
关于来自alart的alart:我在第一个alart的delete中调用第二个alart: - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
【参考方案1】:
正如其他人在 cmets 中指出的那样,这里的问题是您的 NSError 被错误地视为 NSString。
inMessage
似乎是您的 NSError 对象。这会在编译时通过类型系统,因为userInfo
不知道其元素的类型。
要解决此问题,您可能希望获取错误消息的描述并用类似的东西显示它
NSString *inMessage = [[userInfo objectForKey:@"NSUnderlyingError"] localizedDescription];
【讨论】:
是的,你是对的。它现在没有崩溃。但它显示:wait_fences: failed to receive reply: 10004003 @kevinyoung 我相信***.com/questions/4241894 可能会对此有所帮助。似乎有几件事可能导致该消息。 抱歉,其他代码导致此“wait_fences: failed to receive reply: 10004003”。不是第二次警报。谢谢!以上是关于当我从另一个警报创建警报时,我得到 wait_fences: failed to receive reply的主要内容,如果未能解决你的问题,请参考以下文章