Jsonmodel - 模型集合映射未给出预期结果

Posted

技术标签:

【中文标题】Jsonmodel - 模型集合映射未给出预期结果【英文标题】:Jsonmodel - Model collection mapping not giving expected result 【发布时间】:2016-03-02 08:59:20 【问题描述】:

有两个 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。不是具有正确键映射的选项模型。为什么会这样?

【问题讨论】:

【参考方案1】:

我认为声明属性的正确方法是为表示数组元素的所需对象创建协议。

@protocol Option
@end

然后,在你声明的属性上:

@property NSArray<Option> *optionsArray;

【讨论】:

以上是关于Jsonmodel - 模型集合映射未给出预期结果的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中的 JSONModel 问题

SQL 查询未按预期给出结果

查找 QPolygon 是不是包含 QPoint - 未给出预期结果

LINQ - 按多个键分组未给出预期结果

INTERVAL 30 DAY 未给出预期结果

配置单元查询中的多个计数未给出预期结果