您的位置:首页 > 理论基础 > 计算机网络

网络状态检测

2016-03-24 16:36 197 查看
  完成项目的过程中,需要考虑用户是否有网络连接以及及时的检测网络状态,把用到的判断网络封装的方法分享给大家。

(1)Reachability检测网络状态

.h文件中定义方法...

#import <Foundation/Foundation.h>

#import "Reachability.h"

@interface NetWork : NSObject

+(BOOL)isNetWork;

@end

.m文件

+(BOOL)isNetWork

{

//检测wifi状态

Reachability * wifi = [Reachability reachabilityForLocalWiFi];

//检测手机是否能上网

Reachability * conn = [Reachability reachabilityForInternetConnection];

//判断网络状态

if ([wifi currentReachabilityStatus]!= NotReachable ||[conn currentReachabilityStatus] != NotReachable)

{

return YES;

}

else

{

return NO;

}

}

(2)AFN检测网络

// 网络检测管理者

AFNetworkReachabilityManager *manager=[AFNetworkReachabilityManager sharedManager];

// 开始检测

[manager startMonitoring];

// 设置检测回调

NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults];

[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)

{

switch (status)

{

case AFNetworkReachabilityStatusUnknown:

[userDefaults setBool:YES forKey:@"isNetWork"];

[userDefaults synchronize];

if (status==AFNetworkReachabilityStatusUnknown)

{

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提醒" message:@"无网络,请联网" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

[alertView show];

return ;

}

else

{

}

break;

default:

break;

}

}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: