如果语句比较两个NSStrings不起作用

时间:2015-09-12 06:49:34

标签: ios objective-c if-statement nsstring

看起来像一个非常简单的IF语句有问题,这里是代码:

NSString * lowerCaseSubject = [_subjectParameter lowercaseString];
    NSString * subjectPriceString = nil;

if (_subjectParameter) {
        for (int p=0; p < arr.count; p++) {
            subjectPriceString = [arr[p] valueForKeyPath: @"name"];
            if (subjectPriceString == lowerCaseSubject) {
                float price = [[arr[p] valueForKeyPath: @"pricePerHour"]floatValue];
                priceLabel.text = [NSString stringWithFormat:@"%.0f", price];
            }
        }

    }else{

我正在调试并发现下面的IF语句永远不会设置为true,因此它后面的语句永远不会执行:

if (subjectPriceString == lowerCaseSubject) {

这,尽管显示以下字段值:

enter image description here

一直试图修复多年并且没有在哪里,有人能看到我在这里缺少的东西吗? 感谢

1 个答案:

答案 0 :(得分:5)

if ([subjectPriceString isEqualToString:lowerCaseSubject]){
     // do stuff
}