1

在 UIAlertView 显示消息中获取 Exc_Bad_Access。

UIAlertView *systemAlert1 = [[UIAlertView alloc]initWithTitle:@"System message" message:@"note" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [systemAlert1 show];  **//Crashing on this line [EXC_BAD_ACCESS]**
    [systemAlert1 release]; 

为什么我得到这个?请帮忙

4

2 回答 2

1

任何 UI 内容(包括显示警报)都应在主线程上完成。如果您在其他线程上执行此操作,它肯定会崩溃。

于 2012-10-26T11:16:46.110 回答
0

这可能是因为您的警报是从后台线程而不是主线程调用的。建议仅在主线程上进行用户界面相关的更改,以避免应用程序的此类行为

试试这个代码:

UIAlertView *systemAlert1 = [[UIAlertView alloc]initWithTitle:@"System message" message:@"note" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[systemAlert1 performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES]; 
[systemAlert1 release]; 

希望这可以帮助。需要帮助请叫我。

于 2013-07-24T11:23:13.787 回答