首页 > 解决方案 > 关于如何在 Swift 应用程序的所有屏幕上运行相同代码的问题

问题描述

我编写了代码来检查网络连接的状态。我使用了可达性库。

let reachability = Reachability()!

reachability.whenReachable = { reachability in
            if reachability.connection == .wifi {
                print("Reachable via WiFi")
                CustomActivityIndicator.shared.hide(uiView: self.view)
            } else {
                print("Reachable via Cellular")
                CustomActivityIndicator.shared.hide(uiView: self.view)
            }
        }

        reachability.whenUnreachable = { _ in
            print("Not reachable")

            CustomActivityIndicator.shared.show(uiView: self.view, labelText: "Not reachable", backgroundColor: self.color, textColor: .white, animated: false, duration: 0)
        }

        do {
            try reachability.startNotifier()
        } catch {
            print("Unable to start notifier")
        }

我还编写了通过CustomActivityIndicator网络断开时通知用户并在重新连接时隐藏的代码CustomActivityIndicator

我应该将代码放在哪里,以便它可以在应用程序的所有屏幕上运行?

标签: iosswift

解决方案


最好的方法是:创建一个基本视图控制器并从 BaseViewController 继承所有视图控制器,并在该基类中编写通用代码,即在此上下文中的可达性。


推荐阅读