Лучшие практики для проверки типов данных во время выполнения target-c - PullRequest
1 голос
/ 22 октября 2010

В моем приложении есть данные JSON, но, к сожалению, они не очень хорошо сформированы.Иногда я получаю строковые представления чисел, когда ожидаю числа.

По некоторым причинам некоторые значения могут иметь префикс пробела.

Как лучше всего с этим справиться?В настоящее время я вынужден проверять типы через 'isKindOfClass', но в последнее время, работая в основном с приложениями на Python, это кажется неудобным.

Кто-нибудь может порекомендовать лучший способ сделать это?Я полностью осознаю, что @ try, @ catch и т. Д. В этой ситуации бесполезны.

Спасибо за вашу помощь, ребята, я знаю, что этот вопрос помечен как субъективный, но я был бы признателен за некоторые замечания!1010 * J

1 Ответ

1 голос
/ 22 октября 2010

первый: попытайтесь действительно трудно получить правильные данные.слишком много угловых случаев, и процесс медленен в вычислительном отношении для любого нетривиального запроса 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

надеюсь, что это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...