2010-04-07 8 views
6

State ottenendo questo errore dispari.wait_fences: impossibile ricevere risposta: 10004003 - cosa?

ecco l'affare - nel metodo seguente ho una visualizzazione di avviso, prendere un U/N e PW, quindi tentare di avviare un altro metodo.

Il metodo

-postTweet 

non ottiene attivato

ottengo solo questo errore in console

wait_fences: failed to receive reply: 10004003 

Che è davvero strano - come non ho mai visto prima

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    if (alertView == completeAlert) { 
     if (buttonIndex ==1) { 
      passPromtAlert = [[UIAlertView alloc] initWithTitle:@"Enter Name" message:@"Please enter your Username and password - they will be saved\n" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Tweet", nil]; 
      [passPromtAlert addTextFieldWithValue:@"" label:@"Enter username"]; 
      [passPromtAlert addTextFieldWithValue:@"" label:@"Enter password"]; 

      textField = [passPromtAlert textFieldAtIndex:0]; 
      textField2 = [passPromtAlert textFieldAtIndex:1]; 
      textField.clearButtonMode = UITextFieldViewModeWhileEditing; 
      textField.keyboardType = UIKeyboardTypeAlphabet; 
      textField.keyboardAppearance = UIKeyboardAppearanceAlert; 
      textField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
      textField.autocorrectionType = UITextAutocapitalizationTypeNone; 
      textField.textAlignment = UITextAlignmentCenter; 

      textField2.secureTextEntry = YES; 

      textField2.clearButtonMode = UITextFieldViewModeWhileEditing; 
      textField2.keyboardType = UIKeyboardTypeAlphabet; 
      textField2.keyboardAppearance = UIKeyboardAppearanceAlert; 
      textField2.autocapitalizationType = UITextAutocapitalizationTypeWords; 
      textField2.autocorrectionType = UITextAutocapitalizationTypeNone; 
      textField2.textAlignment = UITextAlignmentCenter; 

      [passPromtAlert show]; 
     } 
    } 
    if (alertView == passPromtAlert) { 
     if (buttonIndex == 1) { 
     NSLog(@"here");   
     [self postTweet]; 
     } 
    } 
} 

Qualsiasi aiuto sarebbe apprezzato

Grazie

Sam

aggiunto:

Se avete bisogno di vedere più codice, poi fatemi sapere

+0

Forse vedi questa domanda? http: // StackOverflow.it/questions/1371346/wait-fences-failed-to-receive-reply-10004003 –

+0

Ho risolto lo stesso problema nel mio progetto. spero che tu possa risolvere lo stesso usando la risposta che ho postato qui sotto. – AppAspect

+0

Quindi, sei in grado di risolvere questo problema. È davvero buono. Fammi sapere se vuoi più aiuto in qualsiasi momento. – AppAspect

risposta

6

Qui mi è stato anche di fronte lo stesso problema nel mio progetto e sono riuscito a risolvere il problema ora.È necessario chiamare il metodo utilizzando NSTimer.

Quindi, qui si sta chiamando un avviso all'interno di un altro avviso significa che quando un avviso chiude il nuovo avviso che si sta chiamando lì In questo non c'è problema: puoi farlo facilmente, invece di definire allerta all'interno il metodo "- (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex { if (alertView == completeAlert)", è possibile creare un metodo, ad es. "Show_AlertMessage" e chiamalo usando un timer come questo.

[NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(Show_AlertMessage) userInfo:nil repeats:NO]; 

Fammi sapere se è possibile risolvere questo problema. Risolveremo questo problema come ho fatto per la mia parte.

1

Credo che il problema è causato da voi creando un'altra vista di avviso prima di chiudere la prima. Dal momento che solo una vista di avviso dovrebbe essere presente a chiunque una volta, la seconda vista di avviso sta avanzando sulla prima.

È necessario chiudere la prima vista prima di creare e mostrare la seconda.

+0

non ignorare la vista non è la ragione principale dell'errore. È qualcosa che dovrebbe essere risolto, però. – psychotik

-1

Il UITextField* non si dimette dallo stato firstresponder prima che l'avviso venga eliminato.

Questo incasina la catena di risposta. Aggiungere [textField resignFirstResponder] o [textField2 resignFirstResponder] a seconda dei casi per l'attuazione UIAlertViewDelegate (alertView:clickedButtonAtIndex:)

Inoltre, programmare il vostro secondo UIAlertView per mostrare dopo il primo è respinto (è possibile farlo usando (performSelector:withObject:afterDelay:)

0

La soluzione è qui! Ho avuto lo stesso errore, ora ho la soluzione, questo può aiutarti. Usa questo delegato di AlertView

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{