侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

AFNetworking3.0的使用 与2.0的区别

2024-05-14 星期二 / 0 评论 / 0 点赞 / 84 阅读 / 6247 字

1、 - (void)viewDidLoad { [super viewDidLoad]; // AFNetworking 3.0 与AFNetworking2.0的区别 /** 1.废

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

广告 广告

评论区