iOS检测是否有网络连接

iOS检测是否有网络连接,第1张

概述iOS检测是否有网络连接

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

如果你的工程里面是用的AFNetworking请求网络数据的话,那么可以直接使用 AFNetworkReachabilityManager.h来判断网络状态!如果是用的ASI的话,里面自带的有Reachability.m和 Reachability.h这两个类,下面会分开介绍这两个的使用方法。
#import "AppDelegate.h"#import "VIEwController.h"#import "AFNetworkReachabilityManager.h"//af里面监听网络状态的类#import "fileManager.h"//单利模型,用来记录当前的网络状态@interface AppDelegate ()@end@implementation AppDelegate- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    VIEwController *vIEw = [[VIEwController alloc] init];    UINavigationController *nav = [[UINavigationController alloc] initWithRootVIEwController:vIEw];    self.window.rootVIEwController = nav;        //调用网络状态    [AppDelegate netWorkStatus];        return YES;}+ (voID)netWorkStatus{    /**     AFNetworkReachabilityStatusUnkNown          = -1,  // 未知     AFNetworkReachabilityStatusNotReachable     = 0,   // 无连接     AFNetworkReachabilityStatusReachableViaWWAN = 1,   // 3G 花钱     AFNetworkReachabilityStatusReachableViaWiFi = 2,   // WiFi     */        // 如果要检测网络状态的变化,必须用检测管理器的单例的startMonitoring    [[AFNetworkReachabilityManager sharedManager] startMonitoring];        // 检测网络连接的单例,网络变化时的回调方法    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {                //这是单利+模型,用来记录网络状态        fileManager *maa = [fileManager sharefileManager];        maa.netState = status;        //        NSLog(@"-----网络状态----%ld---%d", status,maa.netState);    }];}
////  Singleton.h//  SingletonModel////  Created by 琳小兮 on 15/5/21.//  copyright (c) 2015年 琳小兮. All rights reserved.////因为方法名 shared"Classname"是连在一起的,为了让宏能够正确替换掉签名中的“Classname”需要在前面加上 ##//当宏的定义超过一行时,在末尾加上“\”表示下一行也在宏定义范围内。注意最后一行不需要加"\”。//使用方法:(单利配合模型使用很方便)//在.h里面(//公开的访问单利对象的方法singleton_interface(MyModel))//在.m里面(singleton_implementation(MyModel))#define singleton_Interface(class)  + (class *)share##class;#define singleton_implemetntion(class)\static class * instance = nil;\+ (class *)share##class\{\if (!instance) {\instance = [[class alloc]init];\}\return instance;\}\+ (class *)allocWithZone:(struct _NSZone *)zone\{\static dispatch_once_t onece;\dispatch_once(&onece, ^{\instance = [super allocWithZone:zone];\});\return instance;\}
#import <Foundation/Foundation.h>#import "Singleton.h"@interface fileManager :NSObjectsingleton_Interface(fileManager)@property (nonatomic,assign) int netState;@end
#import "fileManager.h"@implementation fileManagersingleton_implemetntion(fileManager)@end
+(BOol) isConnectionAvailable{        BOol isExistenceNetwork = YES;        Reachability *reach = [Reachability reachabilityWithHostname:@"www.apple.com"];        NSParameterassert([reach isKindOfClass:[Reachability class]]);        NetworkStatus stats = [reach currentReachabilityStatus];    if (stats == NotReachable)        //没有网络        isExistenceNetwork = NO;    else if (stats == ReachableVia3G)        isExistenceNetwork = YES;    else if (stats == ReachableVia2G)        isExistenceNetwork = YES;    else if (stats == ReachableViaWiFi)        isExistenceNetwork = YES;        if (!isExistenceNetwork) {                return NO;    }        return isExistenceNetwork;}

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的iOS检测是否有网络连接全部内容,希望文章能够帮你解决iOS检测是否有网络连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1106495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存