IOS网络笔记--ASIHTTP类库的使用(网络监测)

来源:互联网 发布:百度自动推送代码js 编辑:程序博客网 时间:2024/06/15 03:02

申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨

/*

 网路监测练习思路

 0.导入框架类和头文件Reachability.h(若不会导入框架,可参考本人上一篇博客)

 1.传一个连接对象

 2.手动开启网络监听状态

 3.开启通知中心

 4.根据反馈回来的数据判断网络情况

    a.reachability接收消息对象

     b.NetworkStatus(网络状态)接收reachability状态

    c.使用创建NSString使用传回来的消息

 */


附上完整代码Demo:http://download.csdn.net/detail/csdn_hhg/9186241


#pragma mark - view加载

- (void)viewDidLoad {

    [super viewDidLoad];

    // 传一个连接对象,  这里是手动内存管理记得retain

    Reachability *reachability = [[Reachability reachabilityWithHostName:@"www.baidu.com"]retain];


    // ASI框架默认是不会帮你监听网络状态,如果需要它去监听网络状态,需要我们手动去开启这个功能。

    // 开起监听

    [reachability startNotifier];

    

    // 通知中心

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(networkMonitoring:) name:kReachabilityChangedNotification object:nil];

}


#pragma mark - 网络监测消息

-(void)networkMonitoring:(NSNotification*)notification

{

   

    Reachability *reachability = notification.object;

    NetworkStatus status = [reachability currentReachabilityStatus];

    NSString * message = @"";

    switch (status) {

        case kReachableViaWiFi:

            message = @"使用wifi中";

            break;

        case NotReachable:

            message = @"没有网络";

            break;

        case ReachableViaWWAN:

            message = @"手机网络";

            break;

        default:

            break;

    }

    NSLog(@"%@",message);

}



0 0