我有一个案例,我应该从数组中获取元素,我不知道该类型是双精度型还是整数。
[array objectAtIndex:2]
问题是我无法识别类型。如果我知道我会简单地执行的类型: [[item objectAtIndex:2] intValue]或 [[item objectAtIndex:2] doubleValue]
有没有办法检测到它?
BR, Gzim
答案 0 :(得分:2)
请参阅-objCType
method的文档。
基本上,它返回一个描述NSNumber中包含的类型的字符串。 Objective-C运行时文档提供了有关类型代码的更多信息。
然而,设计类型未知的设计是很奇怪的。我建议更好的解决方案 - 可能是一个有趣的问题 - 是避免应用程序设计中的模糊类型。
答案 1 :(得分:0)
NSString * type = [NSString stringWithUTF8String:[valueInQuestion objCType]];
这将等于" d"如果它是双倍的"我"如果它是一个整数。