美文网首页iOS 常见功能iOS翻译ios学习
[爆栈热门 iOS 问题] 检测手机上网络通不通

[爆栈热门 iOS 问题] 检测手机上网络通不通

作者: 戴仓薯 | 来源:发表于2015-10-10 10:35 被阅读703次

    系列文集:爆栈热门 iOS 问题目录在此。仓薯翻译,欢迎指正:)

    问题

    如题。


    答案

    仓薯注:最高票答案(1008票)涉及尝试连一下 google 或者 apple,在国内肯定没戏/很慢,而且觉得并没有这个必要。排名第二的答案很简洁,而且亲测可用,所以只翻译第二个答案。

    cannyboy,252 票

    我比较喜欢简单直接的方法。我用的是:

    //Class.h
    #import "Reachability.h"
    #import <SystemConfiguration/SystemConfiguration.h>
    
    - (BOOL)connected;
    
    //Class.m
    - (BOOL)connected {
        Reachability *reachability = [Reachability reachabilityForInternetConnection];  
        NetworkStatus networkStatus = [reachability currentReachabilityStatus]; 
        return networkStatus != NotReachable;
    }
    

    在需要检查网络通不通的地方,用:

    if (![self connected]) {
        // 网络不通
    } else {
        // 网络通畅 
    }
    

    这个方法不会监听网络状态变化什么的,它就是在你需要查的时候去查一下。

    原文地址:How to check for an active Internet Connection on iPhone SDK?

    本文地址:http://www.jianshu.com/p/5cfcd0aa79d3

    系列文集:爆栈热门 iOS 问题

    译者:@戴仓薯

    相关文章

      网友评论

        本文标题:[爆栈热门 iOS 问题] 检测手机上网络通不通

        本文链接:https://www.haomeiwen.com/subject/dpwncttx.html