亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

iOS 檢測網(wǎng)絡(luò)狀態(tài)的兩種方法

 更新時間:2016年10月11日 11:36:15   作者:不會字母的碼猿  
一般有Reachability和AFNetworking監(jiān)測兩種方式,都是第三方的框架,下文逐一詳細(xì)給大家講解,感興趣的朋友一起看看吧

一般有兩種方式,都是第三方的框架,輪子嘛,能用就先用著,后面再優(yōu)化。

一:Reachability

1.首先在AppDelegate.h添加頭文件"Reachability.h",導(dǎo)入框架SystemConfiguration.frame。

2. 在AppDelegate.m中這樣實現(xiàn):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
//開啟網(wǎng)絡(luò)狀況的監(jiān)聽
//來訂閱實時的網(wǎng)絡(luò)狀態(tài)變化通知。導(dǎo)入Reachability.h頭文件,然后注冊一個對象來訂閱網(wǎng)絡(luò)狀態(tài)變化的信息,網(wǎng)絡(luò)狀態(tài)變化的信息名稱為kReachabilityChanged-Notification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
//通過檢查某個主機能否訪問來判斷當(dāng)前網(wǎng)絡(luò)是否可用:
self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ;
//開始監(jiān)聽,會啟動一個run loop
[self.hostReach startNotifier];
}
-(void)reachabilityChanged:(NSNotification *)note{
Reachability *currReach = [note object];
NSParameterAssert([currReach isKindOfClass:[Reachability class]]);
//對連接改變做出響應(yīng)處理動作
NetworkStatus status = [currReach currentReachabilityStatus];
//如果沒有連接到網(wǎng)絡(luò)就彈出提醒實況
self.isReachable = YES;
if(status == NotReachable){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"網(wǎng)絡(luò)連接異常" message:nil delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];
[alert show];
[alert release];
self.isReachable = NO;
return;
}
if (status==kReachableViaWiFi||status==kReachableViaWWAN) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"網(wǎng)絡(luò)連接信息" message:@"網(wǎng)絡(luò)連接正常" delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];
// [alert show];
[alert release];
self.isReachable = YES;
}
}

然后在每個頁面的viewWillAppear:加上:

-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:YES];
AppDelegate *appDlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];
if(appDlg.isReachable){
NSLog(@"網(wǎng)絡(luò)已連接");//執(zhí)行網(wǎng)絡(luò)正常時的代碼
}
else{
NSLog(@"網(wǎng)絡(luò)連接異常");//執(zhí)行網(wǎng)絡(luò)異常時的代碼
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"網(wǎng)絡(luò)連接異常" message:nil delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];
[alert show];
[alert release];
}
}

這樣就可以檢查到在運行程序時網(wǎng)絡(luò)突然的中斷和連接。Reachability類實際上是蘋果公司對SCNetworkReachability API的封裝,這個API定義在SystemConfigure.framework庫中。如果有其他特別的需求,也可以直接使用這個原生的SCNetworkReachability類。

二:AFNetworking監(jiān)測

1.導(dǎo)入框架,和頭文件#import <AFNetworkReachabilityManager.h>

2.代碼:

-(void)afn{
//1.創(chuàng)建網(wǎng)絡(luò)狀態(tài)監(jiān)測管理者
AFNetworkReachabilityManager *manger = [AFNetworkReachabilityManager sharedManager];
//開啟監(jiān)聽,記得開啟,不然不走block
[manger startMonitoring];
//2.監(jiān)聽改變
[manger setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
/*
AFNetworkReachabilityStatusUnknown = -1,
AFNetworkReachabilityStatusNotReachable = 0,
AFNetworkReachabilityStatusReachableViaWWAN = 1,
AFNetworkReachabilityStatusReachableViaWiFi = 2,
*/
switch (status) {
case AFNetworkReachabilityStatusUnknown:
NSLog(@"未知");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"沒有網(wǎng)絡(luò)");
break;
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"3G|4G");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WiFi");
break;
default:
break;
}
}];
}

以上所述是小編給大家介紹的iOS 檢測網(wǎng)絡(luò)狀態(tài)的兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • iOS自定義身份證鍵盤

    iOS自定義身份證鍵盤

    這篇文章主要為大家詳細(xì)介紹了iOS自定義身份證鍵盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • iOS 底層alloc init new 源碼流程示例分析

    iOS 底層alloc init new 源碼流程示例分析

    這篇文章主要為大家介紹了iOS 底層alloc init new 源碼流程示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • IOS UI學(xué)習(xí)教程之設(shè)置UITextField各種屬性

    IOS UI學(xué)習(xí)教程之設(shè)置UITextField各種屬性

    這篇文章主要為大家詳細(xì)介紹了IOS UI學(xué)習(xí)教程之設(shè)置UITextField各種屬性,感興趣的小伙伴們可以參考一下
    2016-03-03
  • IOS中UITextView或UITextField字?jǐn)?shù)限制的實現(xiàn)

    IOS中UITextView或UITextField字?jǐn)?shù)限制的實現(xiàn)

    這篇文章主要介紹了IOS中UITextView或UITextField字?jǐn)?shù)限制的實現(xiàn)的相關(guān)資料,希望通過本文能幫助到大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • IOS 開發(fā)之觸摸事件詳細(xì)介紹

    IOS 開發(fā)之觸摸事件詳細(xì)介紹

    這篇文章主要介紹了IOS 開發(fā)之觸摸事件詳系介紹的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Objective-C學(xué)習(xí)之ARC的實現(xiàn)方法

    Objective-C學(xué)習(xí)之ARC的實現(xiàn)方法

    自動引用計數(shù)(Automatic Reference Counting, ARC)把壓在程序員們肩頭的管理內(nèi)存的重?fù)?dān)卸除了不少,更不用說讓跟蹤內(nèi)存泄漏那樣的煩心事也少了很多。下面這篇文章主要給大家介紹了關(guān)于Objective-C學(xué)習(xí)之ARC的實現(xiàn)方法,需要的朋友可以參考借鑒下。
    2017-12-12
  • iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式

    iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式

    這篇文章主要介紹了iOS 開發(fā)之 - 關(guān)閉鍵盤 退出鍵盤 的5種方式的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • iOS中排列組合算法的使用小結(jié)

    iOS中排列組合算法的使用小結(jié)

    這篇文章主要給大家介紹了關(guān)于iOS中排列組合算法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • iOS開發(fā)之獲取系統(tǒng)相冊中的圖片與視頻教程(內(nèi)帶url轉(zhuǎn)換)

    iOS開發(fā)之獲取系統(tǒng)相冊中的圖片與視頻教程(內(nèi)帶url轉(zhuǎn)換)

    本篇文章主要介紹了iOS開發(fā)之獲取系統(tǒng)相冊中的圖片與視頻教程(內(nèi)帶url轉(zhuǎn)換),主要介紹AssetsLibrary 框架,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • iOS 12適配以及問題小記

    iOS 12適配以及問題小記

    蘋果官方在上個月推送了iOS12系統(tǒng),作為一名開發(fā)者當(dāng)然要緊跟更新技術(shù),所以下面這篇文章主要給大家介紹了關(guān)于iOS 12適配以及一些問題,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07

最新評論