AFNetWorking的使用

本文介绍了如何在项目中封装AFNetworking库,并实现网络请求的异常处理和状态监控。通过自定义方法`ConnectionWithUrl`,实现了对于网络状态变化的响应,确保了应用在不同网络环境下能够正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

研究了一下AFNetWorking,  自己封装了一个AFNetWorking的简单使用, 希望大牛可以给我一些改进的意见

多的不说,附上代码:


+ (void)ConnectionWithUrl:(NSString *)urlStr parmaters:(NSDictionary *)parmaters block:(void (^)(id response))block{


    AFNetworkReachabilityManager *netWorkManager = [AFNetworkReachabilityManager sharedManager];


    [netWorkManager startMonitoring];


    [netWorkManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {


        switch (status) {

            case AFNetworkReachabilityStatusNotReachable:

            {

                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请检测您的网络" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];

                [alert show];

                block(false);

            }

                break;

            case AFNetworkReachabilityStatusReachableViaWiFi:

            case AFNetworkReachabilityStatusReachableViaWWAN:

            {

                AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];


                manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"text/json",@"application/json",@"text/javascript",@"text/html",nil];


                [manager GET:urlStr parameters:parmaters success:^(AFHTTPRequestOperation *operation, id responseObject) {


                    NSLog(@"Get == %@", responseObject);


                    block(responseObject);

                } failure:^(AFHTTPRequestOperation *operation, NSError *error) {


                    NSLog(@"失败 == %@", error);


                }];

            }

                break;

            case AFNetworkReachabilityStatusUnknown:

                break;

        }

    }];



}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值