你好 ,
我注意到上次更新将.none
更改为.unavailable
这意味着应该删除.none
但是 Xcode 要求我在 switch 上添加两者!
我确实做了干净的构建,但注意到变化,直到我添加两者!
还
let reachability = Reachability()!
是强迫我删除! 并且看到它不是可选的
无法强制解开非可选类型“可达性”的值
在我将其更改为let reachability = Reachability()
调用可以抛出,但不能从属性初始化器中抛出错误
以前的版本工作正常!
让可达性=尝试? 可达性()
它对我有用。
.none
只是被弃用,而不是被删除。 它将在未来的版本中删除。 在您的 switch 语句中,您可以在相同的情况下使用两者,例如: case .unavailable, .none:
let reachability = try! Reachability()
与新版本一起使用,相当于let reachability = Reachability()!
@djtech42感谢您对此的跟进
干杯
灰
你也必须使用NotificationCenter.default.addObserver(self, selector: #selector(self.reachabilityChanged),name: Notification.Name.reachabilityChanged,object: reachable)
do{
try reachable!.startNotifier()
}catch{
print("could not start reachability notifier")
}
在 AppDelegate didFinishLaunchingWithOptions
中。
虽然.none
已被弃用,而不是被删除,但我们弃用它的方式是不合适的。
更合适的方法是定义一个静态常量none
并使其等于新的情况. unavailable
。
然后你就不再需要在 switch 语句中列出.none
了。
您可以在 PR https://github.com/ashleymills/Reachability.swift/pull/371中看到更改:
最有用的评论
.none
只是被弃用,而不是被删除。 它将在未来的版本中删除。 在您的 switch 语句中,您可以在相同的情况下使用两者,例如:case .unavailable, .none:
let reachability = try! Reachability()
与新版本一起使用,相当于let reachability = Reachability()!