if语句的问题

bub*_*ter 0 cocoa-touch objective-c

由于某种原因,我传递给我的if语句的参数不正确,即使它应该是我的代码:

    if (currentAttribute == cBusName)
    {
        NSLog(@"currentAttribute == cBusName");
    }
Run Code Online (Sandbox Code Playgroud)

当前属性和cBusName都是NSMutableStrings两者都等于"1"但NSLog永远不会输出控制台中的字符串是否有我缺少的东西???

Kha*_*los 11

==操作者进行比较,这些对象是同一对象(即,它们指向存储器中的相同地址),而不是它们的值是相同的.

尝试

if ([currentAttribute isEqualToString: cBusName])
{
    NSLog(@"currentAttribute == cBusName");
}
Run Code Online (Sandbox Code Playgroud)

它比较了两个字符串的,而不是它们在内存中的位置.