当前位置: 首页 > 面试题库 >

在Swift中使用Apple的可达性类

桑宇
2023-03-14
问题内容

我正在将现有的Objective-
C代码(iOS)重写为Swift,现在正面临ReachabilityApple类用于检查网络可用性的问题…在现有代码中,我使用以下代码来实现这一目标。

var reachability: Reachability = Reachability.reachabilityForInternetConnection()
var internetStatus:NetworkStatus = reachability.currentReachabilityStatus()
if (internetStatus != NotReachable) {
    //my web-dependent code
}
else {
    //There-is-no-connection warning
}

我收到此错误:network status is not convertible to string 在此行:

if (internetStatus != NotReachable)

是否有获取网络状态的方法或类?

我需要以下三个条件:

NotReachable: Obviously, there’s no Internet connection
ReachableViaWiFi: Wi-Fi connection
ReachableViaWWAN: 3G or 4G connection

问题答案:

对于网络可用性(在Swift 2中有效):

class func hasConnectivity() -> Bool {
    let reachability: Reachability = Reachability.reachabilityForInternetConnection()
    let networkStatus: Int = reachability.currentReachabilityStatus().rawValue
    return networkStatus != 0
}

对于Wi-Fi连接:

(reachability.currentReachabilityStatus().value == ReachableViaWiFi.value)


 类似资料:
  • 问题内容: 我正在开发一个用Swift编写的iOS应用程序,该应用程序可与本地网络上的HTTP服务器通信,并且我正在使用Apple的Reachability类来确定运行HTTP服务器的远程计算机是否在线。这是代码: 问题是无论远程计算机是联机还是脱机, 只要我连接到Wifi网络,总是如此。但是,当我关闭Wifi时,它会导致错误而不是真实。我在这里做错什么了吗,还是Reachability类与Swi

  • 可达性 一个产品,如果对于任何人(无论能力)而言,都是非常容易掌握、理解并可以用之来完成他们的目标的话,那么这个产品就是可达的。一个成功的产品对于任何可能的使用者来说都应该是可达的。 这些设计准则对于想要了解可达性的设计师而言是一个很好的起点。设计完全可达的产品是一个复杂的课题,需要深入研究。欲了解更多信息,请访问谷歌的可达性网站。 如何使你的产品更好地服务于身有残疾的用户? 首先,让你的产品使用

  • 问题内容: 我当前的工作流程涉及使用Applescript本质上界定Excel数据并将其格式化为纯文本文件。我们正在向全Swift环境推进,但是我还没有找到任何将我的Excel数据解析为Swift的工具包。 我唯一想到的就是使用C或其他东西并将其包装,但这并不理想。关于解析此数据以在Swift中使用的任何更好的建议? 目的是消除Applescript,但是我不确定在仍然与Excel文件交互时是否有

  • 问题内容: 在阅读The Swift Programming Language时 ,我遇到了以下片段: 您可以使用 if 和 let 一起使用可能缺少的值。这些值表示为 optionals 。可选值包含一个值或包含nil来指示该值丢失。在值的类型后写一个问号(?),以将该值标记为可选。 片段1很清楚,但是片段2发生了什么?有人可以分解并解释吗?它只是使用块的替代方法吗?在这种情况下的确切作用是什么

  • 问题内容: 看完之后: https://github.com/rodionovd/SWRoute/wiki/Function-hooking-in-Swift https://github.com/rodionovd/SWRoute/blob/master/SWRoute/rd_get_func_impl.c 我了解到,Swift函数指针由和包装(根据2014年的文章)。 我想这在Swift 3中

  • 问题内容: 是否可以使用Swift检查互联网连接是否可用? 我知道有很多第三方库可以执行此操作,但是它们都是用Objective-C编写的。我正在寻找Swift的替代方案。 问题答案: 如评论中所述,尽管可以在Swift中使用Objective-C库,但我想要一个更纯粹的Swift解决方案。现有的AppleReachability类和其他第三方库对于我来说转换为Swift似乎太复杂了。我用Goog