如果没有使用NSStrings调用语句相互等同

时间:2012-10-27 02:48:03

标签: ios objective-c cocoa-touch nsstring comparison

有人可以解释为什么这段代码不起作用?定理和标题都是NSStrings,当在控制台中显示时,很明显它们在某些时候匹配,但是从不打印nslog @“HI”。谢谢!

if (Theorem==title) {
        NSLog(@"hi");

        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        [defaults setValue:title forKey:@"title"];
        [defaults setValue:info forKey:@"info"];
        [defaults setValue:subInfo forKey:@"subInfo"];
        [defaults synchronize];
    }
    else{
        NSLog(@"%@",Theorem);
        NSLog(@"%@",title);
    }

1 个答案:

答案 0 :(得分:3)

您必须使用isEqualToString:方法来比较两个字符串的值。使用==运算符只需比较两个指针。

if ([Theorem isEqualToString:title]) {
} else {
}