永发信息网

字典里面包含字典数组怎么转模型

答案:1  悬赏:80  手机版
解决时间 2021-11-20 12:30
字典里面包含字典数组怎么转模型
最佳答案
1.字典跟模型的优缺点比较:
1>字典在使用key的时候Xcode不会有提示,容易出错,模型就不会
2>①所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业
②模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性
③使用模型访问属性时,编译器会提供一系列的提示,提高编码效率
2.字典转模型的过程(中间加了一些个人想法)
1.>首先需要创建一个plist文件,将字典中的元素添加到plist文件中
注意:应该是创建的NSArray包含NSDictionary,NSDictionary包含NSString
2.>接下来应该在model文件夹创建新的文件并在.h文件中添加两个方法
+(instancetype)****WithDict: (NSDictionary*)dict;
-(instancetype)initWithDict: (NSDictionary*)dict;
3>在新创建的文件中实现。
+(instancetype)****WithDict:(NSDictionary*)dict
{
return[[selfalloc]initWithDict:dict];
}
-(instancetype)initWithDict:(NSDictionary*)dict
{
if(self= [superinit]) {
self.name= dict[@"name"];
self.icon= dict[@"icon"];
}
returnself;
}
4>在viewController中添加一个数组属性的变量,然后在将字典转模型(最重要的一步)
@property(strong,nonatomic)NSArray*shops;



-(NSArray*)shops
{
//初始化数组
if(_shops==nil) {
//获取plist的全路径
NSString*path = [[NSBundlemainBundle]pathForResource:@"shop.plist"ofType:nil];
//加载数组
NSArray*dictArray = [NSArrayarrayWithContentsOfFile:path];

NSMutableArray*shopArray = [NSMutableArrayarray];

for(NSDictionary*dictindictArray) {
//创建模型对象
YHShop*shop = [YHShopshopWithDict:dict];
//添加模型对象到数组
[shopArrayaddObject:shop];
}
_shops= shopArray;
}
return_shops;//这里返回的就是一个包含模型的数组
}
@end
5.将之前在使用数组的地方直接改为模型:例如:
YHShop*shopInfo =self.shops[index];//把模型数据给一个新的对象
imageView.image= [UIImageimageNamed:shopInfo.icon];
☆比较简单的理解方式:把之前的数组中的字典抽取出来,创建模型对象,然后把这些模型放到一个新的数组中,通过调用这个数组,进而使用其中的模型。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
蕲蛇干可以当保健品吃吗?
谢娜《生日快乐歌》的歌词
安卓4.4.4可以现在升级7.1吗?不可以的话,怎
连续一年每天只睡3个小时,会不会死?
随手记在外面没网时记不了吗?
想入水彩坑,买水彩颜料买什么牌子的好
绘画收藏费,是谁来买单?是收藏者?还是作者
邢台到显得旺的车末班几点
湖南永州离郑州有多远
如何创建免费苹果开发者账户并绑定Xcode
清音阁地址在什么地方,想过去办事,
糖分真的会让人快乐吗?
今日包茂高速路况包头到东胜啥时候通车
26.39×36+2.639×830-263.9×1.9怎样巧算?
北京海阔方天科技有限公司怎么样?
推荐资讯
谁的责任我是被撞横着的车辆,我从加油站出来
大白菜怎么炒才能好吃?要简单易行的.
青波是什么意思?
明成主朱棣发动什么战争 夺位登基
许嵩现在签公司了么?签那个了?
蔓陀萝花种植
个人怎么做石油贸易
第9题怎么做?
三相6干瓦一小时要几度电
如果说“旻”代表秋天,那么春夏冬各用什么字
有没有好看的位面小说,比如同时穿越了99个
半身纱裙冬天怎么搭配
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?