陈斌彬的技术博客

Stay foolish,stay hungry

__NSCFNumber isEqualToString:的问题

这个问题我遇到过,原因是这样的,接口返回来的数据,解析的时候当做NSString来解析,其实这个数据是NSNumber类型,在iOS 8之前的版本上是不会报错的,你在用到isEqualToString的地方先判断这个数据的类型

NSString *str;
if ( [object isKindOfClass:[NSNumber Class]])
{
    str = [object stringValue];
}
else if ([object isKindOfClass:[NSString Class]])
{
  str = object;
}

然后再进行你的[ str isEqualToString:...]...操作

Resource Reference