这是一个简单而奇怪的问题......
if(tableViewNum == @"One") {
if ([drinkArray objectAtIndex:0] == currentDate) {
[updatedArray addObject:drinkArray];
NSLog(@"MADE THE ELSE1");
}
NSLog(@"MADE THE ELSE2");
}
else if (tableViewNum == @"Two") {
if ([[drinkArray objectAtIndex:0] isEqualToString:yesterdayDate])
[updatedArray addObject:drinkArray];
} else {
NSLog(@"MADE THE ELSE %@",tableViewNum);
[updatedArray addObject:drinkArray];
}
在第一个if语句中,我问tableViewNum == @“One”
但即使tableViewNum确实等于@“One”,我也不会进入if语句的那一部分
正如你可以看到最后一个NSLog的所有方式都是
MADE THE ELSE One
但是如果tableViewNum真的等于One,它会通过if语句而不是else语句代码...... ?????
答案 0 :(得分:6)
您无法将字符串与==
运算符进行比较。请改用isEqualToString
:
if([tableViewNum isEqualToString:@"One"]) {
// etc.
......其他条件也一样。你已经在第二个街区做得很好。
答案 1 :(得分:0)
更具体地说,您不应该使用==来比较任何对象。这比较指针。使用[obj isEqual:otherObj]或使用NSStrings isEqualToString:如上所述。