【问题标题】:[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。