项目重写 把一些常用的东西记录下来 再此也给各位朋友看看
判断网络状态
在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