iOS项目小结

2016.3.23

总结一些小项目的步骤,菜鸟出品。

项目小结

 

 一:三方介绍

1SDWebImageUIImageView+SDWebImage

 介绍

 SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。

 UIImageView+SDWebImageSDWebImage的一个类别,同时也是对SDWebImage的封装,我们写项目的时候只需要调用它就可以了。

 用途

 简单来说,就是当我们重写UITableViewCell的时候,需要给celliconView属性赋值,这时候需要调用:

 “[self.iconView downloadImage:shop.image_path place:nil];”

 

 

2AFNetworkingHttpClient

 介绍

 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 请求成功处理(JSONArray,菊花请求成功)

         *  @param failure 请求失败处理([self.tableView.mj_header endRefreshing];菊花失败)

 

 

3SVProgressHUDToolHelper

 介绍:

 SVProgressHUD:菊花 ToolHelper:封装菊花

 用途:

 网络请求有三种状态:preparesuccessfailure

 当请求为:prepare时,执行[ToolHelper showProgressMessage:@"我在刷新"]操作,

 当请求为:success时,执行[ToolHelper  showSuccessMessage:@"请求成功"]操作,

 当请求为:failure是,执行[ToolHelper    showErrorMessage:@"请求失败"]操作。

 

 

4MJExtensionMJExtensionConfig

 介绍:

 MJExtension是一款好用的Json解析框架。

 MJExtensionConfig继承于NSObject,是为解决网络的JSON字段和本地模型属性名不一致的情况。

 

 用途:

 MJExtension是当网络请求成功时,将得到的responseObject转换为ArrayshopList),模型转换,将网络数据转换,并存到数组里。执行代码为: 

     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名。


 

5MJRefresh

 介绍:下拉刷新上拉加载框架

 用途:下拉刷新上拉加载(具体看代码)

 

 

二:其他文件介绍

 

1APIConfig.h:宏定义存URL,导xiangmu.pch里。

2Constants.h:存一些全局使用的数据,如屏幕的长宽等。

3xiangmu.pch:(具体看代码)

 

    注:   .pch文件的配置:

    在工程里搜索“perfix header”,在里面输入“$(SRCROOT)”和你创建.pch的相对路径

    注:绝对路径是蓝色文件夹路径,相对路径是黄色文件夹路径。

 

4Shop.h & Shop.m:模型A

5Supports.h & Supports.m:模型B(数组模型)

 

 三:编写工程步骤

 1:创建MVC工程文件夹,导入三方与封装的三方

 2:创建.pch文件夹,配置.pch文件夹

 3:创建APIConfig.hurl

 4:建立模型类

 5:viewController里创建tableViewdatalist实现tableViewDataSource方法,各种三方,并将

    shopList赋值给dataList

 6:重写cell

 7:调试优化

你可能感兴趣的:(iOS项目小结)