天天看點

IOS網絡篇:網絡狀态的監控Reachability判斷裝置網絡連接配接情況。相對于蘋果官方的Reachability,這是一個更加進階、更加好用的Reachability,支援ARC、支援block、使用GCD方式來通知網絡的變化。 [Code4App.com]

判斷裝置網絡連接配接情況。相對于蘋果官方的Reachability,這是一個更加進階、更加好用的Reachability,支援ARC、支援block、使用GCD方式來通知網絡的變化。 [Code4App.com]

IOS網絡篇:網絡狀态的監控Reachability判斷裝置網絡連接配接情況。相對于蘋果官方的Reachability,這是一個更加進階、更加好用的Reachability,支援ARC、支援block、使用GCD方式來通知網絡的變化。 [Code4App.com]

Reachability鍊:https://github.com/tonymillion/Reachability

<span style="font-size:14px;">@interface ViewController ()
@property (nonatomic,strong)Reachability* reachability;
@end</span>
           
<span style="font-size:14px;">- (void)viewDidLoad {
    
    [super viewDidLoad];
    // 監聽網絡狀态發生改變
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netWorkStateChange) name:kReachabilityChangedNotification object:nil];
    // 獲得Reachability對象
    self.reachability = [Reachability reachabilityForInternetConnection];
    // 開始監聽網絡
    [self.reachability startNotifier];
    
}
/**
 *  狀态改變
 */
- (void)netWorkStateChange
{
    if ([self isEnableWif])
    {
        NSLog(@"WIFI");
    }else if ([self isEnable3G])
    {
        NSLog(@"3G");
    }else
    {
        NSLog(@"無網絡");
    }
}
- (void)dealloc
{
    // 停止監聽網絡
    [self.reachability stopNotifier];
    // 移除
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}
/**
 *  是否為Wif環境
 */
- (BOOL)isEnableWif
{
    return [[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] !=NotReachable;

}
/**
 *  是否為3G環境
 */
- (BOOL)isEnable3G
{
    return [[Reachability reachabilityForInternetConnection] currentReachabilityStatus] !=NotReachable;
}</span>
           

繼續閱讀