Reachability.swift: 如果 .none 更改为 .unavailable 为什么它要求我添加两者?

创建于 2019-10-17  ·  5评论  ·  资料来源: ashleymills/Reachability.swift

你好 ,

我注意到上次更新将.none更改为.unavailable
这意味着应该删除.none

但是 Xcode 要求我在 switch 上添加两者!

我确实做了干净的构建,但注意到变化,直到我添加两者!


let reachability = Reachability()! 是强迫我删除! 并且看到它不是可选的

无法强制解开非可选类型“可达性”的值

在我将其更改为
let reachability = Reachability()

调用可以抛出,但不能从属性初始化器中抛出错误

以前的版本工作正常!

最有用的评论

  • .none只是被弃用,而不是被删除。 它将在未来的版本中删除。 在您的 switch 语句中,您可以在相同的情况下使用两者,例如: case .unavailable, .none:
  • 您可以将let reachability = try! Reachability()与新版本一起使用,相当于let reachability = Reachability()!
  • 如果需要,您仍然可以使用旧版本,方法是在依赖项管理器中使用 pinning,或者如果您手动使用它,则从 GitHub 下载旧版本

所有5条评论

让可达性=尝试? 可达性()
它对我有用。

  • .none只是被弃用,而不是被删除。 它将在未来的版本中删除。 在您的 switch 语句中,您可以在相同的情况下使用两者,例如: case .unavailable, .none:
  • 您可以将let reachability = try! Reachability()与新版本一起使用,相当于let reachability = Reachability()!
  • 如果需要,您仍然可以使用旧版本,方法是在依赖项管理器中使用 pinning,或者如果您手动使用它,则从 GitHub 下载旧版本

@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中看到更改:

此页面是否有帮助?
0 / 5 - 0 等级