iOS之AFNetworking实时网络状态监控

在实际开发时,对于网络的处理是必不可少的!然后为了减少对第三方类库的引用,我们一般会在将方法向上抽象一层出来。

接下来 我们将对AFN进行抽象封装

一、对网络状态的实时监控

typedef void(^actionBlokc)();

+ (void)checkNewWorking:(NSString *)url WithSucessBlock:(actionBlokc)success andWithFaildBlokc:(actionBlokc)faild
{
    
    NSURL *baseURL = [NSURL URLWithString:url];;//创建一个URL
    
    AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];//创建一个Http请求操作管理者
    
    NSOperationQueue *operationQueue = manager.operationQueue;//将操作管理者加入到队列当中
    [manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {//利用block代码实现对网络的检测
        switch (status) {
            case AFNetworkReachabilityStatusReachableViaWWAN:
            case AFNetworkReachabilityStatusReachableViaWiFi:
                [operationQueue setSuspended:NO];//设置队列暂停为NO
                NSLog(@"网络状态正常");
                success();
                break;
            case AFNetworkReachabilityStatusNotReachable:
            default:
                [operationQueue setSuspended:YES];//设置队列暂停为YES
                NSLog(@"网络状态异常");
                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                    faild();
                });
                break;
        }
    }];
    [manager.reachabilityManager startMonitoring];//开启网络监控
}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值