В настоящее время я проверяю, является ли значение JSON NSString
, а если нет, присваивает свойству строку по умолчанию. Таким образом, я могу предотвратить сбой приложения, если значение JSON равно null
, и я могу вернуть объект User с именем и фамилией по умолчанию.
// Пользовательская модель
+ (Email *)getEmailInfoWithDictionary:(id)dict {
Email *email = [[self alloc] init];
if ([dict isKindOfClass:[NSDictionary class]]) {
user.firstname = [NSString checkType:dict[@"firstname"] defaultString:@"John"];
user.lastname = [NSString checkType:dict[@"lastname"] defaultString:@"Smith"];
}
}
return user;
}
// Метод категории NSString.
+ (NSString *)checkType:(id)obj defaultString:(NSString *)def {
if (obj == nil || ![obj isKindOfClass:[NSString class]]) {
return def;
}
return obj;
}
Однако у меня есть пара проблем. Является ли хорошей идеей всегда проверять нулевые значения относительно значений json, чтобы таким образом вы не получили сбоев? Я заметил несколько уроков по Objective C, которые этого не делают. Меня удивляет, не стоит ли мне беспокоиться об этом, и я должен ожидать, что API вернет правильные значения. Мое второе беспокойство - метод, который я использую, хорошая идея или есть лучший способ?