在下面的代码中,当输入错误的用户名密码时,loginString为0;而当输入正确的用户名密码时,loginString为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];
}
最佳答案
尝试扔
NSLog(@"loginString = %@",loginString);
NSLog(@"loginString = %d",[loginString intValue]);
在
if
语句之前查看事物是否真的如您所想。完成后,看看如果通过以下方式反转
if
语句会发生什么if ([loginString intValue] == 0) {
...
} else {
...
}
或者甚至检查
[loginString isEqualToString:@"0"]
。