今天对在解析Plist时候发现,在Plist里NSNumber里面写的是什么样的数据,你读出来时,依据数值接近的类型转换
NSCFNumber : (double)0.11
NSCFNumber : (long)1
NSCFNumber : (bool)1
当我想要判断读出来的NSNumber是bool的话,用如下方法判断数据类型
if([value isKindOfClass:[NSNumber class]])
{
if (strcmp([value objCType], @encode(float)) == 0)
{
[cell.detailTextLabel.text = [NSString stringWithFormat:@"%.3f", [value floatValue]]];
}
else if (strcmp([value objCType], @encode(double)) == 0)
{
[self.subTitleString appendString:[NSString stringWithFormat:@"%.3f", [value floatValue]]];
}
else if (strcmp([value objCType], @encode(int)) == 0)
{
[self.subTitleString appendString:[NSString stringWithFormat:@"%d", [value intValue]]];
}
else
[self.subTitleString appendString: [NSString stringWithFormat:@"%d", [value intValue]]];
}