2012-11-01 17 views
8

Otrzymuję EXC_BAD_ACCESS na linii [alert show].EXC_BAD_ACCESS na kod UIAlertview = 1

Dlaczego otrzymuję to?

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

Sprawdź moje odpowiedzi udzielonej tutaj [http://stackoverflow.com/a/13084383/1538079] –

+1

dzwonisz to z głównego wątku? –

+0

co to jest prototyp dla "alertu" .. – AppleDelegate

Odpowiedz

6

Tylko delegata zerowa, nie stosuje się do siebie delegować .code niego jak poniżej

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

[alert show]; 

jeśli używasz siebie w delegata następnie trzeba będzie użyć powiadomienie metoda delegata

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

to nie da EXC_Bad_Excess.let mi znać, jeśli to działa .. !!!! szczęśliwy kodowania ....

16

Ta katastrofa musi być na iOS 6. Roztwór do tej katastrofy jest następująca:

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

+3

To jest poprawne rozwiązanie, jeśli się pomyli, ponieważ wywołujesz '[alert show]' z tła. – Hlung

+0

Dziękuję bardzo! – alexmorhun

Powiązane problemy