首页 > 代码库 > iOS开发项目篇—25字典转模型第三方框架、运行时机制简介
iOS开发项目篇—25字典转模型第三方框架、运行时机制简介
iOS开发项目篇—25字典转模型第三方框架、运行时机制简介
一、使用第三方框架完成字典转模型
1.获取框架
在www.code4app.com网站中,搜索字典转模型
可以点击下载代码进行下载,也可以带github上去下载。
管理框架的好处:点击刷新按钮会刷新所有的项目。
2.使用
1.导入第三方框架
2.使用示例
错误提示:
在刷新的时候直接使用一行代码即可:
1 /**加载最新微博数据*/ 2 -(void)loadNewStatus 3 { 4 //1.获得请求管理者 5 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager]; 6 7 //2.封装请求参数 8 9 NSMutableDictionary *params=[NSMutableDictionary dictionary];10 params[@"access_token"] =[YYAccountTool accountModel].access_token;11 //设置请求返回3天数据12 params[@"count"]=@12;13 14 15 //3.发送Post请求16 // url:https://api.weibo.com/2/statuses/home_timeline.json17 [mgr GET:@"https://api.weibo.com/2/statuses/home_timeline.json" parameters:params success:^(AFHTTPRequestOperation *operation, NSDictionary*accountDict) {18 19 YYLog(@"请求成功--%@",accountDict[@"statuses"]);20 // self.statuses=accountDict[@"statuses"];21 22 self.statuses = [NSMutableArray array];23 24 // 微博字典 -- 数组25 NSArray *statusDictArray = accountDict[@"statuses"];26 27 //微博字典数组---》微博模型数组28 self.statuses=[YYStatusModel objectArrayWithKeyValuesArray:statusDictArray];29 30 // for (NSDictionary *statusDict in statusDictArray) {31 // YYStatusModel *status = [YYStatusModel objectWithKeyValues:statusDict];32 // [self.statuses addObject:status];33 // }34 //35 36 //重新刷新表格37 [self.tableView reloadData];38 } failure:^(AFHTTPRequestOperation *operation, NSError *error) {39 YYLog(@"请求失败");40 }];41 42 }
告知数组里面存放的是模型:
1 // 2 // YYStatusModel.m 3 // 4 5 #import "YYStatusModel.h" 6 #import "MJExtension.h" 7 #import "YYPhotoModel.h" 8 9 @implementation YYStatusModel10 //+(instancetype)statusModelWithDict:(NSDictionary *)Dict11 //{12 // YYStatusModel *model=[[self alloc]init];13 // model.text=Dict[@"text"];14 // 15 // model.user=[YYUserModel userModelWithDict:Dict[@"user"]];16 // 17 // //嵌套模型18 // NSDictionary *retweetedDict = Dict[@"retweetedDict"];19 // if (retweetedDict) {20 // model.retweeted_status=[YYStatusModel statusModelWithDict:retweetedDict];21 // }22 // return model;23 //}24 25 -(NSDictionary *)objectClassInArray26 {27 return @{@"pic_urls" : [YYPhotoModel class]};28 }29 30 @end
效果:
二、运行时简介
运行时:其实就是OC的底层,平时写的OC代码,最终都转换成底层的运行时代码(纯C语言)
查看生成的文件
转换后的main函数:
去除强制转换后的代码:
注意:理解消息机制
编译器会把我们写的所有OC代码都转换成运行时代码,上面的代码转换成发送消息
OC是披了一件面向对象外衣的C语言。
运行时强调可以动态的修改、删除方法等。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。