在下面的代码中,当输入错误的用户名密码时,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];
}
答案 0 :(得分:2)
尝试投掷
NSLog(@"loginString = %@",loginString);
NSLog(@"loginString = %d",[loginString intValue]);
在if
语句之前,看看事情是否真的像你认为的那样。
完成后,看看如果通过
反转if
语句会发生什么
if ([loginString intValue] == 0) {
...
} else {
...
}
或者甚至可以检查[loginString isEqualToString:@"0"]
。