美文网首页iOSiOS开发技术
AFNetworking(检测网络连接)

AFNetworking(检测网络连接)

作者: guaker | 来源:发表于2015-03-01 13:18 被阅读4314次

概述

网络 — 你的程序离开了它就不能生存下去!苹果的Foundation framework中的NSURLConnection又非常难以理解,不过这里有一个可以使用的替代品:AFNetworking

使用

网络连接单例

AFNetworkReachabilityManager *reachabilityManager = [AFNetworkReachabilityManager sharedManager];

打开检测

[reachabilityManager startMonitoring];

检测网络连接的代码块回调

[reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    if (status == AFNetworkReachabilityStatusNotReachable) {
        //网络无连接的提示
    }
}];

网络连接状态

typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
    AFNetworkReachabilityStatusUnknown          = -1, //未知
    AFNetworkReachabilityStatusNotReachable     = 0,  //无连接
    AFNetworkReachabilityStatusReachableViaWWAN = 1,  //3G
    AFNetworkReachabilityStatusReachableViaWiFi = 2,  //WIFI
};

相关文章

网友评论

  • 小锤子_:这种方法认证的时候,连接到需要网页认证的WI-FI的时候,,没有认证前判断出来的网络是连接的,,这岂不是错的
  • 翀鹰精灵: AFNetworkReachabilityManager *reachabilityManager = [AFNetworkReachabilityManager sharedManager];
    [reachabilityManager startMonitoring];

    [reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    if (status == AFNetworkReachabilityStatusNotReachable) {
    //网络无连接的提示
    switch (status)
    {
    case AFNetworkReachabilityStatusUnknown:
    {
    NSLog(@"未知");
    }
    break;
    case AFNetworkReachabilityStatusNotReachable:
    {
    NSLog(@"无连接");
    }
    break;
    case AFNetworkReachabilityStatusReachableViaWWAN:
    {
    NSLog(@"3g");
    }
    break;
    case AFNetworkReachabilityStatusReachableViaWiFi:
    {
    NSLog(@"WIFI");
    }
    break;

    default:
    break;
    }

    }
    }];
    你好,我想问下,为什么我这么写block这个方法没有进?求解?
    Hai1丶HydrA:@翀鹰女孩 block不知道需不需要在start上面写,你试试先block,再start
  • wokenshin:感觉挺好用的 thanks!

本文标题:AFNetworking(检测网络连接)

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