Если оператор не проверяет условие при первом запуске - PullRequest
1 голос
/ 23 марта 2011

просто небольшая проблема. Мое приложение хранит некоторую информацию для входа в систему, используя NSUserDefaluts, и использует оператор IF, чтобы проверить, существует ли файл, если это так, он загружает второе представление, если нет, то перейдите к экрану входа.

Как только пользователь вводит Имя, адрес электронной почты и т. Д., Он нажимает кнопку «Перейти», которая сохраняет детали и переводит их во второй вид, однако пользователь должен дважды нажать кнопку «Перейти», прежде чем приложение выведет их на второй экран. Я думаю, что оператор IF не находит сохраненные данные при первом запуске, и поэтому нужно нажать кнопку еще раз.

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

-(IBAction)LogInButton:(id)sender {

NSString *tempStr = [[NSUserDefaults standardUserDefaults] objectForKey:@"UserName"];

  if (tempStr == nil || [tempStr isEqualToString:@""]) {

    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    [prefs setObject:Name.text forKey:@"UserName"];
    [prefs synchronize];


    ClubSearchViewController *CSearch = [[ClubSearchViewController alloc] initWithNibName:@"ClubSearchViewController" bundle:nil];
    [self presentModalViewController:CSearch animated:YES];


  }
  else {
     SearchMenu *SMenu = [[SearchMenu alloc]initWithNibName:@"SearchMenu" bundle:nil];
     [self presentModalViewController:SMenu animated:YES];
  }
}

Заранее спасибо.

1 Ответ

1 голос
/ 23 марта 2011

Код должен идти по одному из двух путей и представлять что-то, если он не появляется при первом нажатии, это означает, что он не выполняет этот код.Установите точку останова, чтобы убедиться, что это так.

Оператор if действительно должен быть:

if ( tempStr.length == 0 )

Поскольку вы можете передавать сообщения на ноль, вы получаете ноль обратно, еслиСтрока пуста или ноль.Это немного проще и требует меньше работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...