封裝網絡請求是因為項目中需要與服務器進行交互的次數非常多,封裝好之后可以節省很多代碼,也方便調用.
//Get請求的封裝, 在.h文件里聲明方法;
- (void)httpGetUrlNoToken:(NSString *)url
params:(NSDictionary *)paramsDict
success:(void(^)(NSDictionary *))success
failure:(void(^)(NSError *))failure;
//在.m里實現方法,有參數上傳參數,沒參數傳nil.
- (void)httpGetUrlNoToken:(NSString *)url
params:(NSDictionary *)paramsDict
success:(void (^)(NSDictionary *))success
failure:(void (^)(NSError *))failure
{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:url parameters:paramsDict progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject){
success(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failure(error);
}];
}
通常我會建一個單例類.這個方法放進去,方便調用.