AFNetworking 3.0的使用

来源:互联网 发布:淘宝千里眼好用不 编辑:程序博客网 时间:2024/06/16 04:43

AFN 3.0中

弃用的类

下面的类已从AFNetworking 3.0中废弃:

  • AFURLConnectionOperation
  • AFHTTPRequestOperation
  • AFHTTPRequestOperationManager

修改的类

下面的类包含基于NSURLConnection的API的内部实现。他们已经被使用NSURLSession重构:

  • UIImageView+AFNetworking
  • UIWebView+AFNetworking
  • UIButton+AFNetworking

使用方法:


导入#import"AFNetworking.h"

//发起网络请求  Post 方法

+ (void)postRegisterDataWithURL:(NSString *)urlStr Parameters:(NSDictionary *)dic Success:(void (^)(id))success failure:(void (^)(NSError *))failure{

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"image/jpeg",@"image/gif",@"text/plain", nil];

    

    [manager POST:urlStr parameters:dic progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

        success(responseObject);

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        failure(error);

    }];

}

//get请求

 + (void)getRegisterDataWithURL:(NSString *)urlStr  Success:(void (^)(id))success failure:(void (^)(NSError *))failure

{

    AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];

    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"text/html",@"image/jpeg",@"image/gif",@"text/plain",nil];

    

    [manager GET:urlStr parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

        

    } success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) {

        success(responseObject);

    } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {

        failure(error);

    }];


}



//上传图片


NSMutableURLRequest *request = [[AFHTTPRequestSerializerserializer]multipartFormRequestWithMethod:@"POST"URLString:@"http://192.168.2.229:8080/test/go"parameters:nilconstructingBodyWithBlock:^(id<AFMultipartFormData_Nonnull formData) {

        [formData appendPartWithFileURL:[NSURLfileURLWithPath:@"/Users/tmtc/Desktop/AFN3.0上传头像/AFN3.0上传头像/centerClick.png"]name:@"file"fileName:@"filename.jpg"mimeType:@"image/jpeg"error:nil];

        //[formData appendPartWithFileData:data name:@"file" fileName:@"filename.jpg" mimeType:@"image/jpeg"];

    } error:nil];

    AFURLSessionManager *manager = [[AFURLSessionManageralloc] initWithSessionConfiguration:[NSURLSessionConfigurationdefaultSessionConfiguration]];

    

    NSURLSessionUploadTask *uploadTask;

    uploadTask = [manager

                  uploadTaskWithStreamedRequest:request

                  progress:^(NSProgress *_Nonnull uploadProgress) {

                      // This is not called back on the main queue.

                      // You are responsible for dispatching to the main queue for UI updates

                      //                      dispatch_async(dispatch_get_main_queue(), ^{

                      //                          //Update the progress view

                      //                          [UIProgressView setProgress:uploadProgress.fractionCompleted];

                      //                      });

                  }

                  completionHandler:^(NSURLResponse *_Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

                      if (error) {

                          NSLog(@"!!!Error: %@", error);

                      } else {

                          NSLog(@"-----%@ %@", response, responseObject);

                      }

                  }];

    

    [uploadTask resume];




0 0