说明:本人是使用AFNetworking进行网络判断的.网络
实现发送网络请求以前判断网络状态的步骤app
// 定义判断网络状态的全局变量 BOOL whetherHaveNetwork;
@interface AppDelegate () /** 网络状态检查者 */ @property(nonatomic, strong) AFNetworkReachabilityManager *networkMonitorManager; @end @implementation AppDelegate #pragma mark - 懒加载 - (AFNetworkReachabilityManager *)networkMonitorManager { if (!_networkMonitorManager) { _networkMonitorManager = [AFNetworkReachabilityManager sharedManager]; [_networkMonitorManager startMonitoring]; //开始监听 } return _networkMonitorManager; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 1.建立窗口 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 2.设置根控制器 FKTabBarController *tabBarController = [[FKTabBarController alloc] init]; self.window.rootViewController = tabBarController; // 3.设置窗口为UIApplication的主窗口,而且显示出来 [self.window makeKeyAndVisible]; // 开启网络监听 [self.networkMonitorManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { if (status == AFNetworkReachabilityStatusNotReachable) {// 没有网络 whetherHaveNetwork = NO; NSLog(@"没有网络:ifHaveNetwork = %d", whetherHaveNetwork); }else{// 有网络 whetherHaveNetwork = YES; NSLog(@"有网络:ifHaveNetwork = %d", whetherHaveNetwork); } }]; return YES; } }
// 判断当前网络的全局变量 // 建议吧这行代码放在pch文件中,这样你就不须要每一个文件都写一次这行代码 extern BOOL whetherHaveNetwork;
if (whetherHaveNetwork) { // 在这里发送网络请求 }
文/IMKel(简书做者)
原文连接:http://www.jianshu.com/p/e610bd728a53atom