Почему мой NSArray intValue не работает должным образом? - PullRequest
0 голосов
/ 16 июня 2011

В следующем фрагменте кода значение loginString равно 0 при вводе неверного пароля пользователя и 2061128143657912001 при вводе правильного пароля имени пользователя. Однако независимо от того, что я делаю, я всегда получаю всплывающее окно.

Что мне не хватает?

//loginString is a 0 or a 2061128143657912001
if ([loginString intValue]>0) {

        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setObject:userName.text forKey:@"userNameKey"];
        [defaults setObject:password.text forKey:@"passwordKey"];
        [defaults synchronize];
        [self dismissModalViewControllerAnimated:YES];

    }else {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login Validation Error" message:@"Unable to validate Login/Password combination" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
        [alert show];
        [alert release];

    }

1 Ответ

2 голосов
/ 16 июня 2011

Попробуйте добавить

NSLog(@"loginString  = %@",loginString);
NSLog(@"loginString  = %d",[loginString intValue]);

перед оператором if, чтобы увидеть, действительно ли вещи действительно такие, как вы думаете.

После этого посмотрите, что произойдет, если вы перевернете if заявление

if ([loginString intValue] == 0) {
...
} else {
...
}

Или, может быть, даже проверка [loginString isEqualToString:@"0"].

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