有两个JSONModels-Question和Option。 问题模型具有以下属性。
@property NSArray<Option *> *optionsArray;
和keyMapper
+ (JSONKeyMapper *)keyMapper {
return [[JSONKeyMapper alloc] initWithDictionary:@{
@"options": @"optionsArray",
}];
}
Option模型有以下keyMapper
+ (JSONKeyMapper *)keyMapper {
return [[JSONKeyMapper alloc] initWithDictionary:@{
@"option_id":@"optionID", @"value":@"optionValuesDictionary"
}];
}
问题是
[[Question alloc] initWithDictionary:questionDictionary error:&parseError];
返回一个带有optionArray的问题对象(数组中有元素,不是空的)。但该数组中的每个元素都是NSDictionary。不是具有正确键映射的选项模型。为什么会那样?
答案 0 :(得分:0)
我认为声明属性的正确方法是为表示数组元素的所需对象创建协议。
@protocol Option
@end
然后,在你宣布的财产上:
@property NSArray<Option> *optionsArray;