相关疑难解决方法(0)

了解NSString比较

以下比较均评估为真:

1)

@"foo" == @"foo";
Run Code Online (Sandbox Code Playgroud)

2)

NSString *myString1 = @"foo";
NSString *myString2 = @"foo";
myString1 == myString2;
Run Code Online (Sandbox Code Playgroud)

但是,肯定有时候NSString使用等于运算符无法比较两个s,[myString1 isEqualToString:myString2]而是需要它.有人可以对此有所了解吗?

cocoa objective-c string-comparison nsstring

82
推荐指数
4
解决办法
10万
查看次数

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

看起来像一个非常简单的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{
Run Code Online (Sandbox Code Playgroud)

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

if (subjectPriceString == lowerCaseSubject) {
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

一直试图修复多年,没有在哪里,谁能看到我在这里失踪的东西?谢谢

if-statement objective-c nsstring ios

-3
推荐指数
1
解决办法
49
查看次数