2016.3.23
總結一些小項目的步驟,菜鳥出品。
項目小結
一:三方介紹
(1)SDWebImage與UIImageView+SDWebImage
介紹:
SDWebImage這個類庫提供一個UIImageView類別以支持加載來自網絡的遠程圖片。具有緩存管理、異步下載、同一個URL下載次數控制和優化等特徵。
UIImageView+SDWebImage是SDWebImage的一個類別,同時也是對SDWebImage的封裝,我們寫項目的時候只需要調用它就可以了。
用途:
簡單來說,就是當我們重寫UITableViewCell的時候,需要給cell的iconView屬性賦值,這時候需要調用:
“[self.iconView downloadImage:shop.image_path place:nil];”
(2)AFNetworking與HttpClient
介紹:
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];菊花失敗)
(3)SVProgressHUD與ToolHelper
介紹:
SVProgressHUD:菊花 ToolHelper:封裝菊花
用途:
網絡請求有三種狀態:prepare,success和failure
當請求爲:prepare時,執行[ToolHelper showProgressMessage:@"我在刷新"]操作,
當請求爲:success時,執行[ToolHelper showSuccessMessage:@"請求成功"]操作,
當請求爲:failure是,執行[ToolHelper showErrorMessage:@"請求失敗"]操作。
(4)MJExtension與MJExtensionConfig
介紹:
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名。
(5)MJRefresh
介紹:下拉刷新上拉加載框架
用途:下拉刷新上拉加載(具體看代碼)
二:其他文件介紹
(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:調試優化