【问题标题】:[NSTaggedPointerString stringValue]: unrecognised selector sent to instance in NSString comparision?[NSTaggedPointerString 字符串值]:无法识别的选择器在字符串比较中发送到实例?
【发布时间】:2020-10-28 13:47:52
【问题描述】:

我收到此错误 [NSTaggedPointerString stringValue]: unrecognized selector sent to instance

当我尝试检查 NSString 比较时

我的代码是:

if ([[[dict objectForKey:@"login"] stringValue] isEqualToString:@"1"]) 
{ 
}

【问题讨论】:

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


    【解决方案1】:

    阅读错误。它明确指出键 login 的值(已经)是一个字符串

    if ([[dict objectForKey:@"login"] isEqualToString:@"1"]) 
    { 
    }
    

    或使用更方便的密钥订阅语法(可用很多年)

    if ([dic[@"login"] isEqualToString:@"1"]) 
    { 
    }
    

    【讨论】:

      【解决方案2】:

      对象已经是字符串,所以不需要使用stringValue选择器:

      if ([[dict objectForKey:@"login"] isEqualToString:@"1"]) 
      { 
      }
      

      注意:将此与"1" 进行比较是不可靠的;如果是数字,则将其转换为 NSNumber

      【讨论】:

        猜你喜欢
        • 2011-01-05
        • 1970-01-01
        • 1970-01-01
        • 2017-12-23
        • 1970-01-01
        • 2018-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多