在这里介绍一种较为简单的判断是否连接网络的方法,首先要引入Reachability.h和.m文件,没有这两个文件的话,google之。然后在***AppDelegate.h中声明如下:
然后在.m中实现:
在需要判断的地方用:
-
NetworkStatus remoteHostStatus; -
NetworkStatus internetConnectionStatus ; -
NetworkStatus localWiFiConnectionStatu s; -
- ...
-
- //Network
- @property
NetworkStatus remoteHostStatus; - @property
NetworkStatus internetConnectionStatus ; - @property
NetworkStatus localWiFiConnectionStatu s; - -
(void) registerNetworkChecking; - -
(void) updateNetworkStatus;
NetworkStatus remoteHostStatus; NetworkStatus internetConnectionStatus; NetworkStatus localWiFiConnectionStatu s; ... //Network @property NetworkStatus remoteHostStatus; @property NetworkStatus internetConnectionStatus ; @property NetworkStatus localWiFiConnectionStatu s; - (void) registerNetworkChecking; - (void) updateNetworkStatus;
然后在.m中实现:
- -
(void) registerNetworkChecking - {
-
[[Reachability sharedReachability] setHostName:@"www.baidu.com"]; -
[[NSNotificationCenter defaultCenter] addObserver:self -
selector:@selector(reachabilityChanged:) -
name:@"kNetworkReachabilityChan gedNotification" -
object:nil]; -
//[self updateNetworkStatus]; -
- }
- #pragma
mark NetworkStatus Notification - -
(void)reachabilityChanged:(NSNotification *)note - {
-
//////NSLog(@"reachabilityChanged"); -
[self updateNetworkStatus]; - }
-
- -
(void)updateNetworkStatus - {
-
// Query the SystemConfiguration framework for the state of the device's network connections. -
self.remoteHostStatus = [[Reachability sharedReachability] remoteHostStatus]; -
self.internetConnectionStatus = [[Reachability sharedReachability] internetConnectionStatus ]; -
self.localWiFiConnectionStatu s = [[Reachability sharedReachability] localWiFiConnectionStatu s]; - }
- (void) registerNetworkChecking { [[Reachability sharedReachability] setHostName:@"www.baidu.com"]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:@"kNetworkReachabilityChangedNotification" object:nil]; //[self updateNetworkStatus]; } #pragma mark NetworkStatus Notification - (void)reachabilityChanged:(NSNotification *)note { //////NSLog(@"reachabilityChanged"); [self updateNetworkStatus]; } - (void)updateNetworkStatus { // Query the SystemConfiguration framework for the state of the device's network connections. self.remoteHostStatus = [[Reachability sharedReachability] remoteHostStatus]; self.internetConnectionStatus = [[Reachability sharedReachability] internetConnectionStatus ]; self.localWiFiConnectionStatu s = [[Reachability sharedReachability] localWiFiConnectionStatu s]; }
在需要判断的地方用: