標籤:
在ios開發中,一些請求 kvc 下拉式清單 圖片請求等等自己手寫代碼的話非常麻煩,還容易出現一系列的問題,現在整理了一些常用的一些小架構。
其中MJExtension 和 MJRefresh 這兩個架構是 MJ自己寫的,
1、AFNetworking-master 是用於資料請求的
用法:
[objc] view plaincopy
- // 1.建立要求管理對象
- AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
-
- // 2.封裝請求參數
- NSMutableDictionary *params = [NSMutableDictionary dictionary];
- params[@"access_token"] = [IWAccountTool account].access_token;
-
- // 3.發送請求
- [mgr GET:@"https://api.weibo.com/2/statuses/home_timeline.json" parameters:params
- success:^(AFHTTPRequestOperation *operation, id responseObject) {
-
- } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
-
- }];
2、MBProgressHUD 是一個process的dialog
用法
[objc] view plaincopy
- [MBProgressHUD showMessage:@"哥正在幫你載入中..."];
3、MJExtention 是kvc 的一個工具,字典轉模型 ,kvc的缺點就是 字典轉模型的時候,模型資料必須與字典一一對應,不對應的話就會出問題,實際上有的時候伺服器傳的值用戶端有的是不用的,那麼就會出現一些問題,
MJExtention就解決了這個問題, 這個架構遍曆了 模型資料中的 屬性, 如果有屬性則轉賦值,沒有就不管, MJExtention 中 封裝的是object,所以任何的對象都可以用 封裝中的方法
用法
[objc] view plaincopy
- // 將字典數組轉為模型數組(裡面放的就是IWStatus模型)
- NSArray *statusArray = [IWStatus objectArrayWithKeyValuesArray:responseObject[@"statuses"]];
4,MJRefresh 架構還沒用到,待更新
5、SDWebImage-master 架構是專門處理圖片的
我們在請求網路上的圖片時,容易出現一些問題,1、在主線程請求圖片啦 2、請求圖片返回的時候item已經變了也可以說position從0變到顯示條目+1的位置了,或者說已經回收了,這樣容易出現圖片一閃閃,3、圖片請求的時候由於在手機端流量受限,所以說我們需要緩衝圖片,緩衝圖片空間的管理等等。。。。。
SDWebImage-master 這些問題都替我們搞定了
用法
[objc] view plaincopy
- // 2.頭像
- [self.iconView setImageWithURL:[NSURL URLWithString:@"http://xxxxxxxxxxxxx.jpg"] placeholderImage:[UIImage imageWithName:@"avatar_default_small"]];
架構:http://download.csdn.net/detail/codywangziham01/7895209
ios 常用的小架構