美文网首页
判断网络连接状态

判断网络连接状态

作者: 韩七夏 | 来源:发表于2016-04-05 23:51 被阅读196次

    众所周知,我们在开发APP时,涉及网络连接的时候,都会想着提前判断一下当前的网络连接状态,如果没有网络,就不再请求url,省去不必要的步骤,所以,这个如何判断?其实很简单。

    前提:工程添加:SystemConfiguration.frameworkframework

    然后在需要判断的类中包含头文件:

    [cpp]view plaincopy

    #import "Reachability.h"

    【如果你使用的ASIHTTPRequest类库,那么直接import Reachbility.h就可以了,ASIHTTP类库里包含Reachbility.h和.m】

    下面是我写的一个方法:

    [cpp]view plaincopy

    -(BOOL) isConnectionAvailable{

    BOOLisExistenceNetwork = YES;

    Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];

    switch([reach currentReachabilityStatus]) {

    caseNotReachable:

    isExistenceNetwork = NO;

    //NSLog(@"notReachable");

    break;

    caseReachableViaWiFi:

    isExistenceNetwork = YES;

    //NSLog(@"WIFI");

    break;

    caseReachableViaWWAN:

    isExistenceNetwork = YES;

    //NSLog(@"3G");

    break;

    }

    if(!isExistenceNetwork) {

    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];//MBProgressHUD为第三方库,不需要可以省略或使用AlertView

    hud.removeFromSuperViewOnHide =YES;

    hud.mode = MBProgressHUDModeText;

    hud.labelText = NSLocalizedString(INFO_NetNoReachable, nil);

    hud.minSize = CGSizeMake(132.f, 108.0f);

    [hud hide:YES afterDelay:3];

    returnNO;

    }

    returnisExistenceNetwork;

    }

    然后在需要判断的地方直接:[self isConnectionAvailable] ,大家看懂了吧,就这么简单。

    所以举一反三,如果你不单单是判断是否网络通畅,而是要判断是WIFI或3G,再写一个isEnableWIFI的方法,具体判断方法就不用再赘述了吧,currentReachabilityStatus判断之。

    相关文章

      网友评论

          本文标题:判断网络连接状态

          本文链接:https://www.haomeiwen.com/subject/tjoplttx.html