无法强制将非可选类型“可达性”的展开值用于swift 5

Wil*_*Wil 1 unwrap reachability-swift

Cannot force unwrap value of non-optional type 'Reachability'在行上收到针对iOS 13(Swift 5)的警告xcode 11.1 let reachability = Reachability()!

我尝试了if语句并尝试执行,但是似乎都没有用。给出警告“调用可以抛出,但错误不能从属性初始化器抛出”

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
       }
   }

}
Run Code Online (Sandbox Code Playgroud)

Joh*_*eos 5

我有同样的问题。

代替

let reachability = Reachability()!
Run Code Online (Sandbox Code Playgroud)

用这个

let reachability = try! Reachability()
Run Code Online (Sandbox Code Playgroud)