2012-11-01 112 views
8

我在[alert show]行中獲取了EXC_BAD_ACCESS。UIAlertview代碼上的EXC_BAD_ACCESS = 1

爲什麼我得到這個?

alert = [[UIAlertView alloc]initWithTitle:@"Application Alert" message:@"all date popup" delegate:self cancelButtonTitle:nil otherButtonTitles:@"Update",nil]; 

[alert show]; //EXC_BAD_ACCESS on this line 
+1

退房這裏給出我的答案[http://stackoverflow.com/a/13084383/1538079] –

+1

你打電話它來自主線程? –

+0

'alert'的原型是什麼.. – AppleDelegate

回答

6

只是要代表零,不適用自行委託.CODE像下面

alert = [[UIAlertView alloc]initWithTitle:@"Application Alert" message:@"all date popup" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Update",nil]; 

[alert show]; 

如果您使用的是代表自己,那麼你將不得不使用警報的委託方法

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

那麼它不會給EXC_Bad_Excess.let我知道,如果它的工作原理.. !!!!快樂編碼....

16

這個崩潰必須在iOS 6.此崩潰解決方法如下:

[alert performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:YES];

+3

如果因爲從後臺調用''alert show''而錯誤,這是正確的解決方案。 – Hlung

+0

非常感謝! – alexmorhun

相關問題