在下面的一段代碼中,當輸入不正確的用戶名密碼時,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