iOS第三方库AFNetworking、SDWebImage
2016-03-18 21:07
288 查看
处理网络请求的类 :
1.NSURLConnection:苹果官方提供,使用较为麻烦
2.ASIHTTPRequest:功能强大,但是较早就停止更新
3.AFNetworking:目前使用的最多的
************ AFNetworking功能特点 ************
AFNetworking:网络数据请求的第三方库
1. get/post请求
2. 下载/上传文件
3. 处理Json/plist文件响应
AFHTTPRequestOperationManager 创建的管理对象,黙认可以处理Json/Plist响应
reponse.MIMEType ---> application/json text/json
************************AFNetworking*********************
// 1.用类方法创建管理对象
AFHTTPRequestOperationManager *manager =[AFHTTPRequestOperationManagermanager];
// 2.根据服务器内容不同指定解析器
//manager 黙认情况下是解析 json plist
// 解析xml 需手动设置
//manager.responseSerializer 这个方法进行解析器的设置
//manager.requestSerializer 这个方法进行解析器的设置
//aplication/json text/json
// 3.通过管理对象manager发送get/post请求
//GET请求
//参数1:接口地址 urlString
//参数2:请求参数
//参数3:网络请求成功后的回调 blocks
[manager GET:<#(NSString *)#> parameters:<#(id)#> success:^(AFHTTPRequestOperation *operation, id responseObject) {
//请求成功后的操作
//operation.resposeData
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//请求失败后的操作
NSLog(@"%@",error);
UIAlertView
}];
//post请求
//参数1:接口地址 urlString
//参数2:请求参数
//参数3:网络请求成功后的回调 blocks
[manager POST:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
//发送成功后的回调
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//发送失败后的回调
}];
************************SDWebImage*********************
#import "UIImageView+WebCache.h"//实现网络加载图片必须用这个
#define imageURL @"http://cdn.duitang.com/uploads/item/201407/23/20140723130120_XkRdX.jpeg"
//获取一张网络图片,并加载到本地
UIImageView *iv = [[UIImageViewalloc] initWithFrame:[UIScreenmainScreen].bounds];
[self.view addSubview:iv];
// 第一种方法:网络下载数据然后把数据转为图片 再加载
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];
manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"image/jpeg"];
[manager GET:imageURL parameters:nil success:^(AFHTTPRequestOperation*operation, id responseObject) {
NSLog(@"下载图片成功!");
iv.image = [UIImage imageWithData:operation.responseData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",error);
}];
// 第二种方法:SDWebImage
[iv sd_setImageWithURL:[NSURLURLWithString:imageURL]];
1.NSURLConnection:苹果官方提供,使用较为麻烦
2.ASIHTTPRequest:功能强大,但是较早就停止更新
3.AFNetworking:目前使用的最多的
************ AFNetworking功能特点 ************
AFNetworking:网络数据请求的第三方库
1. get/post请求
2. 下载/上传文件
3. 处理Json/plist文件响应
AFHTTPRequestOperationManager 创建的管理对象,黙认可以处理Json/Plist响应
reponse.MIMEType ---> application/json text/json
************************AFNetworking*********************
// 1.用类方法创建管理对象
AFHTTPRequestOperationManager *manager =[AFHTTPRequestOperationManagermanager];
// 2.根据服务器内容不同指定解析器
//manager 黙认情况下是解析 json plist
// 解析xml 需手动设置
//manager.responseSerializer 这个方法进行解析器的设置
//manager.requestSerializer 这个方法进行解析器的设置
//aplication/json text/json
// 3.通过管理对象manager发送get/post请求
//GET请求
//参数1:接口地址 urlString
//参数2:请求参数
//参数3:网络请求成功后的回调 blocks
[manager GET:<#(NSString *)#> parameters:<#(id)#> success:^(AFHTTPRequestOperation *operation, id responseObject) {
//请求成功后的操作
//operation.resposeData
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//请求失败后的操作
NSLog(@"%@",error);
UIAlertView
}];
//post请求
//参数1:接口地址 urlString
//参数2:请求参数
//参数3:网络请求成功后的回调 blocks
[manager POST:url parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
//发送成功后的回调
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//发送失败后的回调
}];
************************SDWebImage*********************
#import "UIImageView+WebCache.h"//实现网络加载图片必须用这个
#define imageURL @"http://cdn.duitang.com/uploads/item/201407/23/20140723130120_XkRdX.jpeg"
//获取一张网络图片,并加载到本地
UIImageView *iv = [[UIImageViewalloc] initWithFrame:[UIScreenmainScreen].bounds];
[self.view addSubview:iv];
// 第一种方法:网络下载数据然后把数据转为图片 再加载
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];
manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"image/jpeg"];
[manager GET:imageURL parameters:nil success:^(AFHTTPRequestOperation*operation, id responseObject) {
NSLog(@"下载图片成功!");
iv.image = [UIImage imageWithData:operation.responseData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",error);
}];
// 第二种方法:SDWebImage
[iv sd_setImageWithURL:[NSURLURLWithString:imageURL]];
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解
- iOS推送的那些事
- IOS 改变键盘颜色代码