一、替换 字符串名字 ,在本模型的.m文件中实现下面的方法,而在包含有该模型的模型中就不用理会:
+ (NSDictionary *)replacedKeyFromPropertyName
{
// id为从网络获取的字典中的关键字
// userID为自己想要使用的成员名称
return@{
@"userID" :@"id",
};
}
+ (NSDictionary *)objectClassInArray
{
// statuses为该模型的成员变量数组的名字,Status为 改数组中存放的成员的模型类名
// ads为该模型的成员变量数组的名字,Ad为 改数组中存放的成员的模型类名
return@{
@"statuses" :@"Status",
@"ads" :@"Ad"
};
}
// 将字典转为StatusResult模型
StatusResult *result = [StatusResult objectWithKeyValues:dict];
三、当传入的数组 里面包含的全都是字典,而每个字典是一个模型的时候,即字典数组,使用下面的方法:
// 1.定义一个字典数组,数组里面的每个字典都是一个User模型
NSArray *dictArray = @[
@{
@"name" : @"Jack",
@"icon" : @"lufy.png",
},
@{
@"name" : @"Rose",
@"icon" : @"nami.png",
}
];
// 2.将字典数组转为User模型数组
NSArray *userArray = [User objectArrayWithKeyValuesArray:dictArray];
四、模型中的多级映射问题 ,请参照MJExtension官方例子中的 keyValues2object4 方法。
详情请参照MJExtension的官方model,