我使用下面的代码来获取数字运行时的类
NSDecimalNumber* decimalNumber;
if ([paymentOrderDetail[@"Total"] class]==[NSNumber class]) {
decimalNumber = [NSDecimalNumber decimalNumberWithString:[paymentOrderDetail[@"Total"] stringValue]];
}else{
decimalNumber = [NSDecimalNumber decimalNumberWithString:paymentOrderDetail[@"Total"]];
}
Run Code Online (Sandbox Code Playgroud)
如果条件总是失败,即使总数是一个数字不是字符串,当我打印总类时它给出"__NSCFNumber"
但我无法将其与"__NSCFNumber"进行比较
有什么办法可以让我知道整个对象的类类型
NSNumber是一个集群类,可以封装不同数据类型的不同表示形式.您应该使用[obj isKindOfClass:[NSNumber class]]方法来检查对象的类型.
在这里,你可以阅读更多有关集群类:https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaEncyclopedia/ClassClusters/ClassClusters.html
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |