yj.iOS 网络判断

项目重写   把一些常用的东西记录下来  再此也给各位朋友看看 

判断网络状态

在AppDelegate.m中 

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

调用方法:

- (void)reachability {

// 1.获得网络监控的管理者

AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];

// 2.设置网络状态改变后的处理

[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)

{

// 当网络状态改变了, 就会调用这个block

switch (status)

{ case AFNetworkReachabilityStatusUnknown: // 未知网络

NSLog(@"未知网络");

break;

case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)

NSLog(@"没有网络(断网)");

[self setText:@"当前没有网络"];

break;

case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络

NSLog(@"手机自带网络");

break;

case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI

NSLog(@"WIFI");

break;

}

}]; // 3.开始监控

[mgr startMonitoring];

}

因为只用需要没有网络的时候提示所以没有网络的时候调用

-(void)setText:(NSString *)text

{

UIView *rootView = [UIApplication sharedApplication].keyWindow.rootViewController.view;

MBProgressHUD *hub = [[MBProgressHUD alloc]initWithView:rootView];

hub.mode = MBProgressHUDModeText;

hub.labelText = @"MBProgressHUDModeText";

[rootView addSubview:hub];

hub.labelText = text;

[hub show:YES];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{

[hub hide:YES];

[hub removeFromSuperview];

});//这句话的意思是1.5秒后,把hub移出视图

}


其中用到

AFNetworking

MBProgressHUD

你可能感兴趣的:(yj.iOS 网络判断)