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

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

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

- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(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:@"MyApp Name"

                         message:@"NotReachable"

                         delegate:nil

                         cancelButtonTitle:@"YES" otherButtonTitles:nil];

                         [alert show];

                         [alert release];

}


}

你可能感兴趣的:(IOS使用Reachability实时检测网络连接状况)