在运行时Objective-c检查数据类型的最佳实践

时间:2010-10-22 08:12:20

标签: iphone objective-c json types

我有JSON数据提供给我的应用程序但不幸的是它不是很好。有时候,当我期待数字时,我会得到数字的字符串表示。

由于某种原因,某些值可能具有空格前缀。

处理此问题的最佳方法是什么?目前我被迫通过'isKindOfClass'检查类型,但最近主要在python应用程序上工作,这看起来很尴尬。

有人可以推荐更好的方法吗?我完全清楚@ try,@ catch等在这种情况下没用。

感谢您的帮助,我知道这个问题被标记为主观但我会感激一些意见!

Ĵ

1 个答案:

答案 0 :(得分:1)

首先:尝试真的很难获得格式正确的数据。有太多的极端情况,对于任何重要的json请求来说,这个过程在计算上都很慢 - 更不用说浪费的网络带宽,解析等等。这是一个维护的噩梦。

第二:NSString和NSNumber共享一些便捷方法intValuedoubleValue。这些将有助于你的一些情况。

第三:如果你有一些奇怪的东西很多,最好是创建自己的类别方法。例如:

@interface NSString (MONEvilJSONSource)

- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
- (double)ejs_doubleValueForPropertyNamed_Millimeters;

@end

@interface NSNumber (MONEvilJSONSource)

- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;

@end

希望有所帮助