2012-11-01 7 views
8

Sto ottenendo EXC_BAD_ACCESS sulla riga [alert alert].EXC_BAD_ACCESS su UIAlertview code = 1

Perché sto ottenendo questo?

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

check-out la mia risposta data qui [http://stackoverflow.com/a/13084383/1538079] –

+1

sta chiamando dal thread principale? –

+0

qual è il prototipo per 'alert' .. – AppleDelegate

risposta

6

Basta fare delegato pari a zero, non si applicano auto delegare .code è come qui di seguito

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

[alert show]; 

se si utilizza sé nella delegato allora si dovrà utilizzare metodo delegato avviso

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

allora non darà EXC_Bad_Excess.let mi conosce se funziona .. !!!! felice di codifica ....

16

Questo incidente deve essere su iOS 6. soluzione per questo incidente è la seguente:

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

+3

Questa è la soluzione corretta se sbaglia perché si chiama '[alert show]' dallo sfondo. – Hlung

+0

Grazie mille! – alexmorhun