2016-03-02 64 views
0

有兩個JSONModels-Question和Option。 問題模型具有以下屬性。Jsonmodel - 未給出預期結果的模型集合映射

@property NSArray<Option *> *optionsArray; 

和keyMapper

+ (JSONKeyMapper *)keyMapper { 
     return [[JSONKeyMapper alloc] initWithDictionary:@{ 
                 @"options": @"optionsArray", 
                 }]; 
} 

和期權模型具有以下keyMapper

+ (JSONKeyMapper *)keyMapper {  
    return [[JSONKeyMapper alloc] initWithDictionary:@{ 
                 @"option_id":@"optionID",               @"value":@"optionValuesDictionary" 
                 }]; 
} 

問題是

[[Question alloc] initWithDictionary:questionDictionary error:&parseError]; 

將返回與optionArray一個問題對象(有元件在ar不是空的)。但是該數組中的每個元素都是一個NSDictionary。沒有適當的鍵盤映射選項模型。這是爲什麼?

回答

0

我認爲聲明屬性的正確方法是創建一個表示數組元素的所需對象的協議。

@protocol Option 
@end 

然後,在財產申報你:

@property NSArray<Option> *optionsArray;