【问题标题】:Cannot force unwrap value of non-optional type 'Reachability' for swift 5无法强制 swift 5 的非可选类型“可达性”的展开值
【发布时间】:2019-10-18 07:59:23
【问题描述】:

我收到适用于 iOS 13 (swift 5) 的警告 xcode 11.1 Cannot force unwrap value of non-optional type 'Reachability'上线let reachability = Reachability()!

我试过了,if 语句和 try 做,但似乎没有一个工作。删除 !给出警告“调用可以抛出,但不能从属性初始化器中抛出错误”

import Reachability

class ReachabilityDetect {

   let reachability = Reachability()!

   var dm = DataModel()

   func addObservers(datamodel: DataModel) {
       self.dm = datamodel
       NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged(note:)), name: .reachabilityChanged, object: reachability)
       do{
           try reachability.startNotifier()
       }catch{
           Util.DLog("Reachability notifier niet te starten.")
       }
   }

   @objc func reachabilityChanged(note: Notification) {

      let reachability = note.object as! Reachability

       switch reachability.connection {
       case .wifi:
           Util.DLog("WiFi is actief")
           self.dm.dataConnectionisWifi     = true
           self.dm.dataConnectionisCellular = false
       case .cellular:
           Util.DLog("Celluar data is actief")
           self.dm.dataConnectionisWifi     = false
           self.dm.dataConnectionisCellular = true
       case .none:
           Util.DLog("geen celluar of wifi data actief")
           self.dm.dataConnectionisWifi     = false
           self.dm.dataConnectionisCellular = false
       default: break
       }
   }

}

【问题讨论】:

    标签: unwrap reachability-swift


    【解决方案1】:

    我遇到了同样的问题。

    代替

    let reachability = Reachability()!
    

    使用这个

    let reachability = try! Reachability()
    

    【讨论】:

      猜你喜欢
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多