- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; //开启网络情况的监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ; [self.hostReach startNotifier]; //开始监听,会启动一个run loop self.window.rootViewController = self.tabBarController; [self.window makeKeyAndVisible]; return YES; } //网络连接改变时会调用的方法 -(void)reachabilityChanged:(NSNotification *)note { Reachability *currReach = [note object]; NSParameterAssert([currReach isKindOfClass:[Reachability class]]); //对链接改变作出响应处理动做 NetworkStatus status = [currReach currentReachabilityStatus]; //若是没有链接到网络就弹出提醒实况 self.isReachable = YES; if(status == NotReachable) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络链接异常" message:@"暂没法访问书城信息" delegate:nil cancelButtonTitle:@"肯定" otherButtonTitles:nil]; [alert show]; [alert release]; self.isReachable = NO; } else { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络链接信息" message:@"网络链接正常" delegate:nil cancelButtonTitle:@"肯定" otherButtonTitles:nil]; [alert show]; [alert release]; self.isReachable = YES; } }
AppDelegate *appDlg = (AppDelegate *)[[UIApplication sharedApplication] delegate]; if(appDlg.isReachable) { NSLog(@"网络已链接");//执行网络正常时的代码 } else { NSLog(@"网络链接异常");//执行网络异常时的代码 }