IOS使用Reachability实时检测网络连接状况

来源:互联网 发布:c语言编程序 循环语句 编辑:程序博客网 时间:2024/04/29 23:28

//在程序的启动处,开启通知

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

  //.....

//开启网络状况的监听

[[NSNotificationCenter defaultCenteraddObserver:self

         selector:@selector(reachabilityChanged:)

     namekReachabilityChangedNotification

   objectnil];

hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"retain];//可以以多种形式初始化

[hostReach startNotifier];  //开始监听,会启动一个run loop

        [self updateInterfaceWithReachabilityhostReach];

  //.....

}


// 连接改变

- (void) reachabilityChanged: (NSNotification* )note

{

Reachability* curReach = [note object];

NSParameterAssert([curReach isKindOfClass: [Reachability class]]);

[self updateInterfaceWithReachability: curReach];

}


//处理连接改变后的情况

- (void) updateInterfaceWithReachability: (Reachability*) curReach

{

    //对连接改变做出响应的处理动作。

        NetworkStatus status = [curReach currentReachabilityStatus];

    

if (status == NotReachable) {  //没有连接到网络就弹出提实况

UIAlertView *alert = [[UIAlertView allocinitWithTitle:@"My App Name"

                              message:@"NotReachable"

                              delegate:nil

                              cancelButtonTitle:@"YES" otherButtonTitles:nil];

                              [alert show];

                              [alert release];

}

}

0 0
原创粉丝点击