我想从警报创建警报。但它崩溃了。 我在代码下使用来创建警报:
{
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
如何在警报中创建警报?
答案 0 :(得分:1)
正如其他人在评论中指出的那样,这里的问题是你有一个被错误地作为NSString处理的NSError。
inMessage
似乎是您的NSError对象。这在编译时滑过类型系统,因为userInfo
不知道其元素的类型。
要解决此问题,您可能希望获取错误消息的描述并使用
之类的内容显示错误消息NSString *inMessage = [[userInfo objectForKey:@"NSUnderlyingError"] localizedDescription];