在ios开发中,一些请求 kvc 下拉列表 图片请求等等自己手写代码的话非常麻烦,还容易出现一系列的问题,现在整理了一些常用的一些小框架。
其中MJExtension 和 MJRefresh 这两个框架是 MJ自己写的,
1、AFNetworking-master 是用于数据请求的
用法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// 1.创建请求管理对象
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 2.封装请求参数
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@
"access_token"
] = [IWAccountTool account].access_token;
// 3.发送请求
success:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}];
|
2、MBProgressHUD 是一个process的dialog
用法
1
|
[MBProgressHUD showMessage:@
"哥正在帮你加载中..."
];
|
3、MJExtention 是kvc 的一个工具,字典转模型 ,kvc的缺点就是 字典转模型的时候,模型数据必须与字典一一对应,不对应的话就会出问题,实际上有的时候服务器传的值客户端有的是不用的,那么就会出现一些问题,
MJExtention就解决了这个问题, 这个框架遍历了 模型数据中的 属性, 如果有属性则转赋值,没有就不管, MJExtention 中 封装的是object,所以任何的对象都可以用 封装中的方法
用法
1
2
|
// 将字典数组转为模型数组(里面放的就是IWStatus模型)
NSArray *statusArray = [IWStatus objectArrayWithKeyValuesArray:responseObject[@
"statuses"
]];
|
5、SDWebImage-master 框架是专门处理图片的
我们在请求网络上的图片时,容易出现一些问题,1、在主线程请求图片啦 2、请求图片返回的时候item已经变了也可以说position从0变到显示条目+1的位置了,或者说已经回收了,这样容易出现图片一闪闪,3、图片请求的时候由于在手机端流量受限,所以说我们需要缓存图片,缓存图片空间的管理等等。。。。。
SDWebImage-master 这些问题都替我们搞定了
用法
1
2
|
// 2.头像
[self.iconView setImageWithURL:[NSURL URLWithString:@
"http://xxxxxxxxxxxxx.jpg"
] placeholderImage:[UIImage imageWithName:@
"avatar_default_small"
]];
|
一句话搞定