AFNetworking3.0的使用 与2.0的区别
AFNetworking3.0的使用 与2.0的区别
iOS赵师顺 发表于1年前
AFNetworking3.0的使用 与2.0的区别
  • 发表于 1年前
  • 阅读 52
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 区别: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,UI...

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 - 上传、下载功能 就不在更了

共有 人打赏支持
粉丝 4
博文 70
码字总数 33551
×
iOS赵师顺
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: