疯狂食材项目总结
来源:互联网 发布:国学经典朗读软件 编辑:程序博客网 时间:2024/04/28 09:34
疯狂食材项目总结
在疯狂食材中的心得:
1.我所用到的第三方全是通过cocoapod下载的,包括
pod ‘AFNetworking’, ‘~> 2.0’
pod ‘SDWebImage’,’~>3.6’
pod ‘FMDB’
pod ‘MJRefresh’
pod ‘FXBlurView’,’~>1.6.3’
2.在这个项目中其实遇到了很多困难,一开始就理解错误了,因为有素材,导致我一开始以为界面可以直接用素材的图片来显示,后来才发现如果用本地素材会导致网络上的请求请求不了,后来才改用了网络请求,在做”功效”这个界面的时候,button点进去的时候里面一个cell有不等数量的图片,一开始想了很久,最后才想到了怎么做.
3.疯狂食材的数据量很大,处理起来很繁琐,重复做某件事比如功效与人群两个页面其实方法类同,可是button点进去里面的cell是完全不同的,不能合用,在处理数据上面就花了很长的一段时间,工作量还挺大的.
4.由于第三方sdk如果用于上架有时候会有问题,其实可以使用官方的sdk.
5.json可以判断提示有无网络连接,正在用什么网络连接
6.疯狂食材这一app可以用于查询食材的功效,适宜的食材对应的人群,介绍了什么人不能吃什么,还介绍了每一种食材是怎么来的,什么味道,有什么效果.最后还介绍了每一种食材类包含的营养.
7.如果你在做某项项目的时候,一定要做好分类,文件夹分好,不然到最后,你会找不到你的文件在哪,我一开始因为没分好类重新再创建了一个工程重新做,要减少工作量,细节一定要处理好.
在疯狂食材中所用到的方法:
1.用网络请求做数据处理,方法如下:
- (void)requestData {NSDictionary *info = [NSDictionary dictionaryWithObject:self.foodName forKey:@"name"];[NetWork netWorkWithPath:SearchFoodNameURL params:info connectHandel:^(NSDictionary *dict, NetTYpe type) { if (type == SuccessType) { NSDictionary *resultDict = dict[@"data"]; self.headePict = resultDict[@"picture"]; NSMutableArray *models = [NSMutableArray array]; //添加模型 [models addObject:self.headePict]; //添加图片 NSDictionary *nutriDict = resultDict[@"nutritionDesciption"]; NutritionDesciption *nutriModel = [NutritionDesciption nutritionWithDict:nutriDict]; [models addObject:nutriModel]; //添加【营养价值】 NSDictionary *compatibility = resultDict[@"compatibility"]; NSArray *goodsArray = compatibility[@"good"]; NSArray *badsArray = compatibility[@"bad"]; NSMutableArray *goodModels = [NSMutableArray array]; NSMutableArray *badModels = [NSMutableArray array]; for (NSDictionary *goodDict in goodsArray) { CompatibilityModel *model = [CompatibilityModel compatibilityWithDict:goodDict]; [goodModels addObject:model]; } for (NSDictionary *badDict in badsArray) { CompatibilityModel *model = [CompatibilityModel compatibilityWithDict:badDict]; [badModels addObject:model]; } [models addObject:goodModels]; //添加good [models addObject:badModels]; //添加bad NSMutableArray *descModels = [NSMutableArray array]; NSArray *descArray = resultDict[@"description"]; for (NSDictionary *descDict in descArray) { DescriptionModel *model = [DescriptionModel descriptWithDict:descDict]; [descModels addObject:model]; } [models addObject:descModels]; //添加desc简介 self.dataSources = models; [self.tableView reloadData]; } }]; }
2.使用的工具类文件有两个用于获取数据,network是用于网络请求获取数据:
3.使用了多个model文件.
- (instancetype)initWithDict:(NSDictionary *)dict {if (self = [super init]) { [self setValuesForKeysWithDictionary:dict]; NSMutableArray *array = [NSMutableArray array]; for (NSDictionary *duleDict in _items) { NSMutableDictionary *resultDict = [NSMutableDictionary dictionaryWithDictionary:duleDict]; NSString *c_id = duleDict[@"id"]; NSArray *c_description = duleDict[@"description"]; [resultDict removeObjectForKey:@"id"]; [resultDict removeObjectForKey:@"description"]; [resultDict setObject:c_id forKey:@"c_id"]; [resultDict setObject:c_description forKey:@"c_description"]; ItemsModel *model = [ItemsModel itemsWithDict:resultDict]; [array addObject:model]; } _items = array;}return self;}+ (instancetype)goodOrBadWithDict:(NSDictionary *)dict {return [[self alloc] initWithDict:dict];}
- 项目:疯狂食材总结
- 疯狂食材项目总结
- 疯狂食材项目总结
- IOS项目:疯狂食材软件总结
- 疯狂食材练手项目总结
- 项目总结——疯狂食材
- 疯狂食材总结
- 疯狂食材 总结
- 关于独立完成已有iOS项目《疯狂食材》总结
- APP<疯狂食材>开发总结
- UI星辰:疯狂食材总结
- 疯狂食材
- 疯狂食材
- java疯狂总结2
- 疯狂人生战斗精神总结
- 李阳疯狂android--总结
- 疯狂java的基本总结
- 疯狂java之总结片
- XMPPFramework-XEP 总结
- 云计算
- linux应用编程笔记(11)信号通信
- 为你的安卓应用实现自签名的 SSL 证书
- 深度学习入门必备 必看 必掌握
- 疯狂食材项目总结
- linux内核之文件系统
- AndroidStudio提交代码到Github(详细图文)
- TableSpace的概念及创建
- "通配符的匹配很全面, 但无法找到元素 'tx:annotation-driven' 的声明" 的解决方案
- 字符串回文和数字回文
- _pFirstBlock == pHead错误
- 七牛 PHP 文件管理
- ios _怕忘记的一些备用代码