AFN的实时网络监控 但是block连续调用了两次

Posted JusDoit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AFN的实时网络监控 但是block连续调用了两次相关的知识,希望对你有一定的参考价值。

  [[AFNetworkReachabilityManager sharedManager] startMonitoring];

    [[AFNetworkReachabilityManager sharedManager ] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

        switch (status) {

            case -1:

                NSLog(@"未知网络");

                break;

            case 0:

                NSLog(@"网络不可达");

                break;

            case 1:

                NSLog(@"移动网络");

                break;

            case 2:

                NSLog(@"wifi网络");

                break;

            default:

                break;

        }

        if(status ==AFNetworkReachabilityStatusReachableViaWWAN || status == AFNetworkReachabilityStatusReachableViaWiFi)

        {

            NSLog(@"有网");

        }else

        {

            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"网络失去连接" message:nil delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];

            alert.delegate = self;

            [alert show];

        }

    }];

由于连续调用了两次 导致界面逻辑出现一个没有显示出来就跳转到下一个的bug  

建议只有一份代码 代码里不要写与业务相关的代码   以后用afn的网络状态判断网络情况

 

以上是关于AFN的实时网络监控 但是block连续调用了两次的主要内容,如果未能解决你的问题,请参考以下文章

HKObserverQuery 连续两次随机调用

ASI和AFN的区别

Paypal 自适应支付返回 url 调用了两次

监听网络改变, 实时获取网络连通性,ping/发请求

keyboardWillShow 调用了两次

Cedar - 检查是不是使用不同的值调用了两次方法