Цель C: Хорошая ли практика проверять значения JSON, если вы ожидаете того типа?

Curt Rand спросил: 07 октября 2018 в 12:20 в: ios

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


0 ответов