2016.3.23
总结一些小项目的步骤,菜鸟出品。
介绍:
SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。
UIImageView+SDWebImage是SDWebImage的一个类别,同时也是对SDWebImage的封装,我们写项目的时候只需要调用它就可以了。
用途:
简单来说,就是当我们重写UITableViewCell的时候,需要给cell的iconView属性赋值,这时候需要调用:
“[self.iconView downloadImage:shop.image_path place:nil];”
介绍:
AFNetworking是一个轻量级的网络请求api类库。
HttpClient是对AFNetworking的封装
用途:
当执行下拉加载和上拉刷新或者说,当我们从网络上获得一段url时,就需要执行网络请求的操作,这时候就需要调用下面的方法
“- (void)requestWithPath:(NSString *)url
method:(NSInteger)method
paramenters:(NSDictionary *)params
prepareExecute:(PrepareExecuteBlock)prepare
success:(SuccessBlock)success
failure:(FailureBlock)failure”
注:
* HTTP请求(GET,POST,PUT,DELETE)
*
* @param url 请求地址(“?”前面的)
* @param method 请求类型(HttpRequestGet等)
* @param params 请求参数(“?”后面的组成的参数字典)
* @param prepare 请求前预处理(执行菊花刷新操作)
* @param success 请求成功处理(JSON转Array,菊花请求成功)
* @param failure 请求失败处理([self.tableView.mj_header endRefreshing];菊花失败)
介绍:
SVProgressHUD:菊花 ToolHelper:封装菊花
用途:
网络请求有三种状态:prepare,success和failure
当请求为:prepare时,执行[ToolHelper showProgressMessage:@"我在刷新"]操作,
当请求为:success时,执行[ToolHelper showSuccessMessage:@"请求成功"]操作,
当请求为:failure是,执行[ToolHelper showErrorMessage:@"请求失败"]操作。
介绍:
MJExtension是一款好用的Json解析框架。
MJExtensionConfig继承于NSObject,是为解决网络的JSON字段和本地模型属性名不一致的情况。
用途:
MJExtension是当网络请求成功时,将得到的responseObject转换为Array(shopList),模型转换,将网络数据转换,并存到数组里。执行代码为:
NSArray * shopList = [Shop mj_objectArrayWithKeyValuesArray:responseObject];
MJExtensionConfig
在MJExtensionConfig.m文件中实现+ (void)load方法。
+ (void)load方法程序启动一定会调用,在该方法里解决网络的JSON字段和本地模型属性名不一致的问题和解决数组中存储模型的问题
具体代码: [Shop mj_setupReplacedKeyFromPropertyName:^NSDictionary *{
return @{@"desc" : @"description"}; }];
注:@return 左边是本地属性名,右侧是网络JSON名。
具体代码: [Shop mj_setupObjectClassInArray:^NSDictionary *{
return @{@"supports":@"Supports"}; }];
注:@return 左边是网络字段 右边是模型的Model名。
介绍:下拉刷新上拉加载框架
用途:下拉刷新上拉加载(具体看代码)
(1)APIConfig.h:宏定义存URL,导xiangmu.pch里。
(2)Constants.h:存一些全局使用的数据,如屏幕的长宽等。
(3)xiangmu.pch:(具体看代码)
注: .pch文件的配置:
在工程里搜索“perfix header”,在里面输入“$(SRCROOT)”和你创建.pch的相对路径
注:绝对路径是蓝色文件夹路径,相对路径是黄色文件夹路径。
(4)Shop.h & Shop.m:模型A
(5)Supports.h & Supports.m:模型B(数组模型)
1:创建MVC工程文件夹,导入三方与封装的三方
2:创建.pch文件夹,配置.pch文件夹
3:创建APIConfig.h存url
4:建立模型类
5:viewController里创建tableView和datalist实现tableView的DataSource方法,各种三方,并将
shopList赋值给dataList
6:重写cell
7:调试优化