什么是AFN
- 全稱是AFNetworking看蚜,是對(duì)NSURLConnection的一層封裝
- 雖然運(yùn)行效率沒有ASI高,但是使用比ASI簡(jiǎn)單
- 在iOS開發(fā)中赔桌,使用比較廣泛
?AFN的github地址
- https://github.com/pokeb/AFNetworking/AFNetworking
AFHTTPSessionManager
AFHTTPSessionManager
? ? - 是AFN中最重要的對(duì)象之一
? ? - 封裝了HTTP請(qǐng)求的常見處理
? ? ? ? ?- GET\POST請(qǐng)求
? ? ? ? ?- 解析服務(wù)器的響應(yīng)數(shù)據(jù)
創(chuàng)建
AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
GET\POST請(qǐng)求
// GET請(qǐng)求
- (NSURLSessionDataTask *)GET:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
// POST請(qǐng)求
- (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
監(jiān)控聯(lián)網(wǎng)狀態(tài)
AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
[manager startMonitoring];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"%d", status);
}];
提示:要監(jiān)控網(wǎng)絡(luò)連接狀態(tài)供炎,必須要先調(diào)用單例的startMonitoring方法