我有通过JSON进入的数据。
使用NSJSONSerialization我将JSON转换为对象。
在JSON一个数字值,来在Objective-C为几个不同的可能的类类型:
(NSNumber, NSDecimalNumber or __NSCFNumber
) - 所有这些都NSNumber
下类群集。
问题:
1)我需要一种方法来获取类集群“保护伞”类 - NSNumber
,当我有任何类型NSNumber, NSDecimalNumber or __NSCFNumber
的值。
同样适用于字符串。我需要一种方法来获得NSString
,当我有这些:NSString, NSMutableString, __NSCFString, __NSCFConstantString
。
2)例如,如果我可以通过代码获取NSString群集中所有类的列表,它也可以工作。然后我可以在运行时动态构建一个列表,并确保它是完整的。
我有什么至今:
到目前为止,我无法想出一个明智的方式来做到这一点。所以我有一个允许类型的列表,但恐怕它可能不完整+它不觉得它是最好的解决方案。
代码: https://github.com/icanzilb/JSONModel/blob/master/JSONModel/JSONModel.m#L45
另请注意,'NSCFBoolean'是'NSNumber'的一个子类。 – 2012-12-12 17:27:57