2012-11-01 36 views
8

Tôi nhận được EXC_BAD_ACCESS trên dòng [alert show].EXC_BAD_ACCESS trên mã UIAlertview = 1

Tại sao tôi nhận được thông báo này?

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

séc ra câu trả lời của tôi đưa ra ở đây [http://stackoverflow.com/a/13084383/1538079] –

+1

Bạn gọi nó từ chủ đề chính? –

+0

nguyên mẫu cho 'cảnh báo' là gì. – AppleDelegate

Trả lời

6

Chỉ cần chắc đại biểu nil, không áp dụng tự ủy .code nó như dưới đây

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

[alert show]; 

nếu bạn đang sử dụng tự trong đại biểu sau đó bạn sẽ phải sử dụng phương pháp đại biểu cảnh báo

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

sau đó nó sẽ không cung cấp cho EXC_Bad_Excess.cho tôi biết nếu nó hoạt động .. !!!! hạnh phúc mã hóa ....

16

vụ tai nạn này phải nằm trên iOS 6. Giải pháp cho vụ tai nạn này là như sau:

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

+3

Đây là giải pháp chính xác nếu nó errs bởi vì bạn đang gọi '[alert show]' từ nền. – Hlung

+0

Cảm ơn bạn rất nhiều! – alexmorhun

Các vấn đề liên quan