所以我要在我的应用中实施网络检查,
viewDidAppear中检查网络连接,并在没有互联网的情况下显示offline label,并在用户在线时显示back online label

问题在于,每次用户导航到新的VC时都会显示“返回在线标签”,这会带来糟糕的用户体验。

我只想在用户先下线然后上线时才显示在线标签。

一种方法是保持计数,但我认为可能有一个更好的解决方案

有什么建议么?

最佳答案

您知道用户首次脱机然后再进入联机状态时的状态,您会显示警报“返回联机”标签

那么您必须保存显示警报的状态

UserDefaults.standard.set(true, forKey: "backOnline")


每次在viewDidAppear中都可以添加检查

if let backOnline = UserDefaults.standard.value(forKey: "backOnline") as? Bool, backOnline == true {
    //back online shown once, I don't want to show
} else {
    // never shown back online
}

08-17 14:43