AFNetworking3.0的使用 与2.0的区别

1、

- (void)viewDidLoad {

    [super viewDidLoad];

//    AFNetworking 3.0 与AFNetworking2.0的区别

      /**

     1.废弃了基于 NSURLConnection 的所有API,升级到基于 NSURLSession

     2.AFNetworking 3.0正式支持的iOS 7, Mac OS X的10.9, watchOS 2 , tvOS 9 和Xcode 7

     3.被废弃的类::::::AFURLConnectionOperation,AFHTTPRequestOperation,AFHTTPRequestOperationManager

     4.被修改的类:::::UIImageView+AFNetworking,UIWebView+AFNetworking,UIButton+AFNetworking

     5.如果你以前使用 AFHTTPRequestOperationManager , 你将需要迁移去使用 AFHTTPSessionManager

     6.UIAlertView的类目被废

     */  

//    初始化管理者

    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    manager.requestSerializer.timeoutInterval = 30;

//    上传普通的格式

    manager.requestSerializer = [AFHTTPRequestSerializer serializer];

//    收到数据的格式(data)  注意 :不加这句会报错Request failed: unacceptable content-type: text/plain”错误,因为我们要获取text/plain类型数据

    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

POST请求;

    //    [self Post:manager];

GET请求

   //  [self Get:manager];

    网络监测

    // [self Reachability];

}

#pragma mark - POST

 

- (void)Post:(AFHTTPSessionManager *)manager{

    

    //    请求参数

    NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"20131129", @"date", @"1", @"startRecord", @"5", @"len", @"1234567890", @"udid", @"Iphone", @"terminalType", @"213", @"cid", nil];

 

    [manager POST:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?" parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

//        拼接data到请求体,

        

    } progress:^(NSProgress * _Nonnull uploadProgress) {

//        获取目前数据的进度

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

        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];

        NSLog(@"%@",dic);

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

        

        NSLog(@"%@",error.localizedDescription);

    }];

    

}

#pragma mark - GET

 

- (void)Get:(AFHTTPSessionManager *)manager{

        [manager GET:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {

            

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

            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];

            

            NSLog(@"%@", dic);

            

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

            NSLog(@"%@",error.localizedDescription);

 

        }];

}

 

#pragma mark - 网络监测

 

- (void)Reachability{

    AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

    [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {

            case AFNetworkReachabilityStatusUnknown:

                NSLog(@"未知网络");

                break;

            case AFNetworkReachabilityStatusNotReachable:

                NSLog(@"无网络");

                break;

                case AFNetworkReachabilityStatusReachableViaWiFi:

                NSLog(@"WiFi");

                break;

                case AFNetworkReachabilityStatusReachableViaWWAN:

                NSLog(@"流量上网");

                break;

            default:

                break;

        }

    }];

//    开始监听 (一定不要忘了)

    [manager startMonitoring];

}

#pragma mark - 上传、下载功能 就不在更了

转载于:https://my.oschina.net/iOScoderZhao/blog/693853

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值