对呀新入行的人来说,自己还没有能力去写框架,并且自己也没有去封装这个能力,那我们最好的解决方法就是借用第三方框架,但是很多,比如说刷新,或者菊花,或者网络吗,我们该该如何用呢,好吧,先简单的写几个
1、AFNetworking-master 是用于数据请求的
用法:
// 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的,就是转圈,简称菊花
用法
[MBProgressHUD showMessage:@"哥正在帮你菊花中..."];
3、MJExtention 是kvc 的一个工具,字典转模型 ,kvc的缺点就是 字典转模型的时候,模型数据必须与字典一一对应,不对应的话就会出问题,实际上有的时候服务器传的值客户端有的是不用的,那么就会出现一些问题,
MJExtention就解决了这个问题, 这个框架遍历了 模型数据中的 属性, 如果有属性则转赋值,没有就不管, MJExtention 中 封装的是object,所以任何的对象都可以用 封装中的方法
// 将字典数组转为模型数组(里面放的就是IWStatus模型),这里只举一个栗子
NSArray *statusArray = [IWStatus objectArrayWithKeyValuesArray:responseObject[@"statuses"]];
SDWebImage-master 框架是专门处理图片的
我们在请求网络上的图片时,容易出现一些问题,1、在主线程请求图片啦 2、请求图片返回的时候item已经变了也可以说position从0变到显示条目+1的位置了,或者说已经回收了,这样容易出现图片一闪闪,3、图片请求的时候由于在手机端流量受限,所以说我们需要缓存图片,缓存图片空间的管理等等。。。。。
SDWebImage-master 这些问题都替我们搞定了
[self.iconView setImageWithURL:[NSURL URLWithString:@"http://xxxxxxxxxxxxx.jpg"] placeholderImage:[UIImage imageWithName:@"avatar_default_small"]];