У меня есть класс JSONModel в Objective-C. Я инициализирую это с помощью JSON, возвращаемого сервером.Как создать класс JSONModel в Objective-C с одинаковой переменной в двух типах?
#import "JSONModel.h"
@protocol MyJsonMoodelClass
@end
@interface MyJsonMoodelClass : JSONModel
@property (nonatomic, strong) NSNumber <Optional> * idFilm;
В этом формате JSON содержит переменную с именем idFilm
, а иногда возвращается типа NSNumber
но другой возвращается в массиве.
Для exaple:
idFilm : 5
или
idFilm : [2, 5]
Как я мог это контролировать, и как я мог бы иметь ту же переменную, определяемую двумя типами, NSNumber
и NSArray
? Возможно ли это контролировать?
Вы можете установить его в NSObject, который суперкласс как NSNumber и NSArray. Но это не очень хорошая идея в большинстве ситуаций, так как вам всегда нужно проверять, какой тип она есть, прежде чем что-либо делать с ней ('isKindOfClass'), и она, естественно, не конвертируется в JSON, в вашем случае, без Дополнительная работа. Лучше было бы всегда использовать массив, и если вы получите число, поместите это число в массив и используйте вместо него массив (т. Е. Массив только с одним элементом). –