ios - 关于如何在 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
。
我应该将代码放在哪里,以便它可以在应用程序的所有屏幕上运行?
解决方案
最好的方法是:创建一个基本视图控制器并从 BaseViewController 继承所有视图控制器,并在该基类中编写通用代码,即在此上下文中的可达性。
推荐阅读
- mysql - 如何在相等的桶中按距离排序?
- python - 我正在做一个 re.findall 一个字符串,我得到一个错误:错误:在位置 0 没有重复
- azerothcore - 尝试使用 DB 汇编器时出错:在用户表中找不到任何匹配的行
- c++ - “谓词不应因函数调用而修改其状态”是什么意思?
- python - AWS DataSync Lambda 自动化
- ruby-on-rails - 如何使用rails和postgres异步更新不同的json(jsonb)属性?
- python - 如何计算日期选择器日历上选择的日期之间的天数
- reactjs - 将 React Dropzone 与 React Final Form 一起使用
- excel - 如何在excel中使用复选框隐藏或取消隐藏多个工作表
- postgresql - Postgres 检查可用性重叠日期