将携带字典对象的 NSdata 与 String 进行比较

Posted

技术标签:

【中文标题】将携带字典对象的 NSdata 与 String 进行比较【英文标题】:Compare NSdata carrying dictionary object to a String 【发布时间】:2012-07-23 09:17:58 【问题描述】:

我想知道怎么做

NSData *xxx = [xxx objectForKey:@"xxx"];
if (xxx == @"xxx")
//do somthing

【问题讨论】:

if ([xxx objectForKey:@"xxx"] isEqualTostring =@"xxx" ) 我可以问一下为什么您将结果转换为 NSData * 虽然您期望一个字符串? 【参考方案1】:

您可以使用自省来确定一个对象是否与另一个对象具有相同的数据类型,但您必须这样做(注意类型id);

id *obj = [dict objectForKey:@"key"];

if ([obj isKindOfClass:[NSString class]])

    if ([obj isEqualToString:@"text"])
    
       //...
    

【讨论】:

【参考方案2】:

或者您可以只使用isEqual:,它允许与任何对象进行比较,而无需先测试类。

id obj = [dict objectForKey:@"key"];
if ( [obj isEqual:@"text"] ) 
    //...

【讨论】:

以上是关于将携带字典对象的 NSdata 与 String 进行比较的主要内容,如果未能解决你的问题,请参考以下文章

字典或者数组与JSON串之间的转换

我将一些数据发送到 web 服务,它返回一些 JSON 作为 NSData。如何转换为字典?(iOS 4.3)

iOS 字典和NSData之间转换

如何将 std::string 转换为 NSData ,反之亦然?

如何在 Swift 3 中将字典表示为 NSValue?

ios中将nsdata类型的数据放到字典里,在封装成json可以吗