Reachability 网络状态的使用和封装

在程序开发工程中,不可避免的要使用到网络功能去拉取数据。而手机端又非常重视用户体验,你需要了解怎么检测网络功能

苹果提供了SCNetworkReachability API, 通过它可以拿到设备当前网络的详细信息,当网络状态改变了,还可以通过提交一个监听来获取回调。

并且还提供了一个Reachability的项目示范怎么处理


// 创建一个Reachability的方法
+ (instancetype)reachabilityWithHostName:(NSString *)hostName;
+ (instancetype)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress;
+ (instancetype)reachabilityForInternetConnection;
+ (instancetype)reachabilityForLocalWiFi;

// 操作reachability方法
- (BOOL)startNotifier;
- (void)stopNotifier;
- (NetworkStatus)currentReachabilityStatus;
- (BOOL)connectionRequired;

到这里也可以了,开发者使用公共方法来得到Reachability实体,检测实体的变化。

但每次都要这么整一下是不是太麻烦了,本着能懒则懒的原则,我对它又进行了一次封装

#define REACHABLE_CHANGED_NOTIFICATION @"REACHABLE_CHANGED_NOTIFICATION"

@interface ReachableSingleton : NSObject

@property (nonatomic,retain)Reachability *currentReachablity;
@property (nonatomic)NetworkStatus currentStatus;

+ (ReachableSingleton *) sharedInstance;//单例
-(BOOL)isConnected;
-(BOOL)isConnectedByWifi;
-(BOOL)isConnectedByWwan;
@end

从头文件可以看出来,我实现了包含了Reachability的ReachableSingleleton单例,通过单例调用判断方法,直接返回网络状态

工程文件已经打包上传,有需要的自取:http://download.csdn.net/detail/mangosnow/7556905 不需要积分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值