Iphone 运行时检查数据类型的最佳实践objective-c
我将JSON数据提供给我的应用程序,但不幸的是,它的格式不是很好。有时,当我期待数字时,我会得到数字的字符串表示 由于某些原因,某些值的前缀可能为空格 处理这个问题的最好方法是什么?目前,我被迫通过“isKindOfClass”检查类型,但最近主要在python应用程序上工作,这似乎很尴尬 有人能推荐一种更好的方法吗?我完全知道在这种情况下,@try、@catch等是没有用的 谢谢你们的帮助,我知道这个问题被认为是主观的,但我希望你们能提供一些意见 首先:努力获取格式良好的数据。有太多的极端情况,对于任何非平凡的json请求,计算过程都很慢——更不用说浪费的网络带宽、解析等了。。这是一场维护噩梦 第二:NSString和NSNumber共享一些方便的方法Iphone 运行时检查数据类型的最佳实践objective-c,iphone,objective-c,json,types,Iphone,Objective C,Json,Types,我将JSON数据提供给我的应用程序,但不幸的是,它的格式不是很好。有时,当我期待数字时,我会得到数字的字符串表示 由于某些原因,某些值的前缀可能为空格 处理这个问题的最好方法是什么?目前,我被迫通过“isKindOfClass”检查类型,但最近主要在python应用程序上工作,这似乎很尴尬 有人能推荐一种更好的方法吗?我完全知道在这种情况下,@try、@catch等是没有用的 谢谢你们的帮助,我知道这个问题被认为是主观的,但我希望你们能提供一些意见 首先:努力获取格式良好的数据。有太多的极端情况
intValue
,doubleValue
。在你的某些情况下,这些会有所帮助
第三:如果你有很多奇怪的东西,最好创建你自己的分类方法。例如:
@interface NSString (MONEvilJSONSource)
- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
- (double)ejs_doubleValueForPropertyNamed_Millimeters;
@end
@interface NSNumber (MONEvilJSONSource)
- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
@end
首先,希望这能有所帮助:努力获取格式良好的数据。有太多的极端情况,对于任何非平凡的json请求,计算过程都很慢——更不用说浪费的网络带宽、解析等了。。这是一场维护噩梦
第二:NSString和NSNumber共享一些方便的方法intValue
,doubleValue
。在你的某些情况下,这些会有所帮助
第三:如果你有很多奇怪的东西,最好创建你自己的分类方法。例如:
@interface NSString (MONEvilJSONSource)
- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
- (double)ejs_doubleValueForPropertyNamed_Millimeters;
@end
@interface NSNumber (MONEvilJSONSource)
- (int)ejs_intValue;
- (NSDate *)ejs_dateValue;
@end
希望对你有所帮助谢谢。我忘了提到我目前正在使用objects description方法中的“intValue”作为解决方法。我只是希望我错过了一个更方便的方法。我设法让JSON提供程序在源代码处修复了JSON的一些问题,但我希望找到一种简单的错误恢复方法。谢谢。我忘了提到我目前正在使用objects description方法中的“intValue”作为解决方法。我只是希望我错过了一个更方便的方法。我设法让JSON提供程序在源代码处修复了JSON的一些问题,但我希望找到一种简单的错误恢复方法。