什么是AFN
- 全称是AFNetworking,是对NSURLConnection的一层封装
- 虽然运行效率没有ASI高,但是使用比ASI简单
- 在iOS开发中,使用比较广泛
AFN的github地址
- https://github.com/pokeb/AFNetworking/AFNetworking
AFHTTPSessionManager
AFHTTPSessionManager
- 是AFN中最重要的对象之一
- 封装了HTTP请求的常见处理
- GET\POST请求
- 解析服务器的响应数据
创建
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
GET\POST请求
// GET请求
- (NSURLSessionDataTask *)GET:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
// POST请求
- (NSURLSessionDataTask *)POST:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
文件上传
- (NSURLSessionDataTask *)POST:(NSString *)URLStringparameters:(id)parameters constructingBodyWithBlock:(void (^)(idformData))block
success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
监控联网状态
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
[manager startMonitoring];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"%d", status);
}];
提示:要监控网络连接状态,必须要先调用单例的startMonitoring方法