【发布时间】:2016-12-22 01:01:41
【问题描述】:
我在 Objective-C 中有一个 JSONModel 类。我正在使用服务器返回的 JSON 对其进行初始化。
#import "JSONModel.h"
@protocol MyJsonMoodelClass
@end
@interface MyJsonMoodelClass : JSONModel
@property (nonatomic, strong) NSNumber <Optional> * idFilm;
此 JSON 包含一个名为 idFilm 的变量,有时会返回 NSNumber 类型的变量,但会在数组中返回另一个变量。
例如:
idFilm : 5
或
idFilm : [2, 5]
我怎样才能控制它,我怎样才能让相同的变量由两种类型定义,NSNumber 和NSArray?可以控制吗?
【问题讨论】:
-
您可以将其设置为 NSObject,它是 NSNumber 和 NSArray 的超类。但这在大多数情况下并不是一个好主意,因为在对它进行任何操作之前,您总是必须检查它是哪种类型 (
isKindOfClass),而且在您的情况下,它不会自然地转换为 JSON,没有加班。最好总是使用一个数组,如果你得到一个数字,把那个数字放在一个数组中,然后用这个数组代替(即,一个只有一个元素的数组)。
标签: objective-c json jsonmodel