给定以下JSON blob:
[
{
type: "audio",
title: "Audio example title",
},
{
type: "video",
title: "Video example title",
},
{
type: "audio",
title: "Another audio example title",
},
]
和两个JSONModel模型类(AudioModel,VideoModel)。在将JSON映射到模型时,JSONModel是否可以基于
type
属性自动创建这些模型类之一?
最佳答案
可以使用for..in
循环并检查type属性并根据如下类型创建Model对象
NSMutableArray *audioModelArray = [NSMutableArray alloc] init];
NSMutableArray *videoModelArray = [NSMutableArray alloc] init];
for(NSdictionary *jsonDict in jsonArray) {
if(jsonDict[@"type"] isEqualToString:@"audio") {
AudioModel *audio = [AudioModel alloc]initWithTitle:jsonDict[@"title"]];
[audioModelArray addObject: audio];
} else {
VideoModel *audio = [VideoModel alloc] initWithTitle:jsonDict[@"title"]];
[videoModelArray addObject: audio];
}
}
那么您可以遍历
audioModelArray
和videoModelArray
对象以访问audoModel和videoModel对象及其属性。
关于ios - 基于属性与JSONModel的动态模型级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31719818/