ios - VC销毁时UIView中存储的静态值不会被删除
问题描述
我的应用程序中有两个不同的视图控制器。让它们成为 A(第一个 ViewController)、B(第二个 ViewController)。我的 ViewController B 有一个名为 NewsView 的视图,它在 ViewController B 中被多次重用。NewsView 有一个静态变量articles
,用于存储到目前为止 NewsView 在 ViewController B 中显示的次数。
class NewsView: UIView {
static var articles: Int = 0
}
现在,当我回到 View Controller A 再到 ViewController B 时。我的 NewsView 仍然包含articles
之前计算的值。ViewController B销毁时不应该删除吗?如果它没有被破坏,那么在视图控制器 B 关闭时清除它的最佳方法是什么。我的架构阻止从 viewController 访问视图
解决方案
该变量应在视图控制器 B 中声明,并由视图通过委托方法访问。因此视图可以对其进行更新,并在控制器被销毁时将其删除。
推荐阅读
- kubernetes - Kubemq-go 缺少标签以响应通过 GRPC 的查询
- javascript - 动态更改动画期间传单移动标记的持续时间/速度
- flutter - Flutter 应用可以共享 Firestore 缓存吗?
- javascript - 我在使用“removeEventListener()”时遇到问题
- spring - Apache Kafka 如何使用 OAuth 与 Spring Boot 应用程序一起工作
- c# - UWP 场景 - 有没有办法同时在同一台计算机上同时从应用商店和 Visual Studio 安装 UWP 应用?
- python - 如何让机器人在 discord.py 中发布剧透图像?
- html - 我正在开发一个 Rails Web 应用程序,我添加了视图和分别的 css 文件,显示 css 样式但不正确
- python - 安装 bpy 包 python 的问题
- c# - 为什么我在 SharePoint Online CSOM 中执行 site.Owner 时获得的是网站管理员而不是网站所有者?