【问题标题】:Comparing the values of two nsstrings比较两个 nsstrings 的值
【发布时间】:2012-10-25 22:51:53
【问题描述】:

所以我一直在尝试比较 xcode 中的两个 NSString。但是,它不起作用。我做错了什么?

NSString Prog 是从 mysql 解析的 xml 字符

   char *cStr = "YES";
        NSString *str3 = [NSString stringWithUTF8String:cStr];
        if ([str3 isEqualToString:prog]) {
             [switch1 setOn:YES animated:YES];
        }
        else {
             [switch1 setOn:NO animated:YES];
        }

【问题讨论】:

  • 如果 prog 等于 YES 或 NO,您的 cStr 字符为“YES”,您应该考虑改用 BOOL。
  • 好吧,不幸的是,我不能在这种特殊情况下使用布尔值。如果 prog 是 YES 或 No,我希望它执行一个命令。但它不起作用。
  • 当然,在这个例子中不需要stringWithUTF8String。可能只是if ([@"YES" isEqualToString:prog])。但我会假设 C 字符串来自其他地方,这就是为什么你需要那个构造??
  • 而且,顺便说一句,普通的旧 NSLog 在调试时可以创造奇迹。

标签: objective-c ios nsstring string-comparison foundation


【解决方案1】:

使用以下方法比较两个 NSString:

[yourString isEqualToString:@"testString"]

【讨论】:

    【解决方案2】:

    -[NSString isEqualToString:] 通常是您将使用的,以及您在这种情况下使用的。确保prog 是有效的NSString(例如正确的类型而不是nil),并记住此实现中的字符串比较区分大小写——即"Yes" 不等于@987654326 @。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-20
      • 2023-03-29
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多