为什么不是我的字符串比较在iOS 6中的工作? [重复](Why isn't my St

2019-08-01 05:12发布

可能重复:
在Objective-C理解的NSString比较

我已经用了一个应用程序的多个版本这个简单的代码,直到iOS 6中的字符串比较已经工作,但现在它失败 - 为什么?

if(selectedCell.textLabel.text==@"Font"){
    NSLog(@"going to dofontpicker");
    [self doFontPicker];
}else if(selectedCell.textLabel.text==@"Color"){
    NSLog(@"going to do colorpicker");
    [self doColorPicker];
}

Answer 1:

因为它从来没有真正奏效。 比较字符串不起作用使用==操作符,因为字符串(NSString对象)的指针-做一个数值比较只比较它们的地址,而不是它们的内容。 你需要写

if ([someString isEqualToString:@"Font"]) {
    // do stuff
}

编辑:我听到你的尖叫“!但它的工作效果真的不错,直到iOS 6的!” - 不。 它没有,它只是一些偶然的。



文章来源: Why isn't my String comparison working in iOS 6? [duplicate]
标签: iphone ios6