Objective c if语句的问题

Objective c if语句的问题,objective-c,cocoa-touch,Objective C,Cocoa Touch,出于某种原因,我传递给if语句的参数不是真的,即使它应该是我的代码: if (currentAttribute == cBusName) { NSLog(@"currentAttribute == cBusName"); } current attribute和cBusName都是NSMutableString,都是相等的“1”,但NSLog从不在控制台中输出字符串是否有我缺少的东西?操作符正在比较这些对象是否是相同的对象(即它们指向内存中的相同地址),

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

    if (currentAttribute == cBusName)
    {
        NSLog(@"currentAttribute == cBusName");
    }

current attribute和cBusName都是NSMutableString,都是相等的“1”,但NSLog从不在控制台中输出字符串是否有我缺少的东西?

操作符正在比较这些对象是否是相同的对象(即它们指向内存中的相同地址),而不是它们的值是否相同

试一试

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

无法比较字符串对象 使用相等(=)运算符。这个 原因是任何试图 以这种方式执行比较将 只需比较两个字符串 对象位于同一内存中 地点。让我们来看看这个 通过示例:通过示例:


从中,搜索比较字符串

有关此操作的更多详细信息,请参见:该死,你打了我一拳+哈哈,这一次是我先打的。我通常处于你们的位置。
if ([currentAttribute isEqualToString: cBusName])
{
    NSLog(@"currentAttribute == cBusName");
}