在下面的一段代码中,当输入不正确的用户名密码时,loginString为0,输入正确的用户名密码时为2061128143657912001。然而,不管我做什么,我总是得到弹出。为什么我的NSArray intValue无法按预期工作?
我错过了什么?在
NSLog(@"loginString = %@",loginString);
NSLog(@"loginString = %d",[loginString intValue]);
//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];
}
什么是'loginString',它在哪里声明和设置? – PengOne 2011-06-16 03:11:59
NSMutableString * loginString;在头文件中的同一个类中声明。它在XML解析器函数中设置。我在上面的代码上面完成了一个NSLog,并且我得到了一个0或2061128143657912001 – jini 2011-06-16 03:14:16
这是不可能的。一个'int'至多是2147483647. – 2011-06-16 03:17:36