为什么字符串不相等什么存储?

The*_*Man -1 iphone objective-c ios ios5

这是一个简单而奇怪的问题......

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];
    }
Run Code Online (Sandbox Code Playgroud)

在第一个if语句中,我问tableViewNum == @"One"

但即使tableViewNum确实等于@"One",我也不会进入if语句的那一部分

正如你所看到的那样,最后一个NSLog出现了

MADE THE ELSE One
Run Code Online (Sandbox Code Playgroud)

但是如果tableViewNum真的等于One它会通过if语句而不是else语句代码...... ?????

Ry-*_*Ry- 6

您无法将字符串与==运算符进行比较.isEqualToString改为使用:

if([tableViewNum isEqualToString:@"One"]) {
    // etc.
Run Code Online (Sandbox Code Playgroud)

...和其他条件相同.你已经在第二个街区做得对了.