用Reachability实时监听网络的变化

来源:互联网 发布:z8300 linux 编辑:程序博客网 时间:2024/05/21 17:11

didFinishLaunchingWithOptions中增加如下代码

 //使用通知中心监听kReachabilityChangedNotification通知

    [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(reachabilityChanged:)name:kReachabilityChangedNotificationobject:nil];

    //获取指定站点的Reachability对象

    reach=[ReachabilityreachabilityWithHostName:@"www.baidu.com"];

    //Reachability对象开启被监听状态

    [reachstartNotifier];


-(void)reachabilityChanged:(NSNotification *)note

{

   NSLog(@"进来了");

    //通过通知对象获取被监听的Reachability对象

   Reachability *currReach=[note object];

    //获取Reachability对象的网络状态

   NetworkStatus status=[currReach currentReachabilityStatus];

   if (status==NotReachable) {

        [selfshowAlert:@"www.baidu.com"];

    }else{

        [selfshowAlert:@"网络正常"];

    }

}


我做这块遇到的问题就是一开始通知无论怎么都不执行,从网上看了才知道

Reachability *reach要设置为全局对象,我认为不把它设置为全局对象,它可能出了该函数就被系统释放了!!!



0 0