我一直在试图弄清楚为什么这段代码没有被击中。日志说“成功1”或“成功0”所以我想我可以在if语句中使用@“1”或@“0”,但它不会通过任何一节。
NSString *success = [JSON valueForKey:@"Success"];
NSLog(@"Success %@", success);
if (success == @"1") {
[self performSegueWithIdentifier:@"loginToInvite" sender:self];
} else if (success == @"0")
{
_logInBtn.selected = NO;
_popupLbl.hidden = NO;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Text" message:@"Text" delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil];
[alert show];
}
感谢您的回答!
答案 0 :(得分:5)
检查字符串相等性是不行的,因为检查身份(如果对象是同一个对象)
if (success == @"1")
相反,您希望检查相等性,如果值相同,则在字符串的情况下为true。您应该使用它:
if ([success isEqualToString:@"1"])
答案 1 :(得分:3)
应该使用NSString文字相等 [NSString isEqualToString:] 否则你要检查指向对象的指针是否相同。
答案 2 :(得分:2)
NSString *success = [JSON valueForKey:@"Success"];
NSLog(@"Success %@", success);
if ([success isEqual:@"1"]) {
[self performSegueWithIdentifier:@"loginToInvite" sender:self];
} else if ([success isEqual:@"0"])
{
_logInBtn.selected = NO;
_popupLbl.hidden = NO;
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Text" message:@"Text" delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil, nil];
[alert show];
}
答案 3 :(得分:1)
为了与字符串值进行比较,请使用isEqualToString:@“1”