2010-04-07 4 views
6

Получил эту нечетную ошибку.wait_fences: не удалось получить ответ: 10004003 - что?

heres the deal - в нижеследующем методе у меня появилось предупреждение, возьмите U/N и PW, затем попытайтесь запустить другой метод.

Метод

-postTweet 

не активизируются

Я просто получаю эту ошибку в консоли

wait_fences: failed to receive reply: 10004003 

Что действительно странно, - как я никогда не видел его раньше

- (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]; 
     } 
    } 
} 

Любая помощь будет оценена

Спасибо

Сэм

ДОБАВЛЕНО:

Если вы хотите увидеть больше кода, то дайте мне знать

+0

Возможно, этот вопрос задан? Http: // StackOverflow.com/questions/1371346/wait-fences-failed-to-receive-reply-10004003 –

+0

Я решил ту же проблему в своем проекте. надеюсь, что вы также можете решить то же самое, используя ответ, который я разместил ниже. – AppAspect

+0

Итак, вы можете решить эту проблему. Это действительно хорошо. Дайте мне знать, если вы хотите больше помочь в любое время. – AppAspect

ответ

6

Здесь я также сталкиваются с той же вопрос в моем проекте, и мне удалось решить проблему сейчас. Вам нужно вызвать метод, используя NSTimer.

Итак, здесь вы вызываете одно предупреждение внутри другого предупреждения, когда одно предупреждение отключается, а затем новое предупреждение, которое вы вызываете там В этом нет никаких проблем. Вы можете сделать это легко. Вместо определения alertview внутри метод "- (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) buttonIndex { if (alertView == completeAlert)", вы можете создать один метод, например. «Show_AlertMessage» и вызовите его с помощью таймера.

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

Сообщите мне, если вы можете избавиться от этой проблемы. Мы разрешим эту проблему, как я сделал для своей стороны.

1

Я считаю, что проблема вызвана вами создавая другое предупреждение, прежде чем вы отпустите первый. Поскольку предполагается, что только один вид предупреждений присутствует у кого-то, одно второе представление второго шага наступает на первое.

Перед созданием и показом второго нужно снять первый вид.

+0

Не отклонение представления не является основной причиной ошибки. Тем не менее, это должно быть исправлено. – psychotik

-1

Ваш UITextField* не уходит в отставку перед первым статусом ответчика перед увольнением.

Это разрушает цепочку ответчиков. Добавить [textField resignFirstResponder] или [textField2 resignFirstResponder] в качестве применимого в осуществлении UIAlertViewDelegate (alertView:clickedButtonAtIndex:)

Кроме того, можно запланировать второй UIAlertView, чтобы показать после того, как первый уволен (вы можете сделать это с помощью (performSelector:withObject:afterDelay:)

0

Решение есть! У меня была такая же ошибка, теперь я получил решение, это может вам помочь. Используйте этого делегата из AlertView

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{ 
Смежные вопросы