首页 > 解决方案 > 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 访问视图

标签: iosswiftuikit

解决方案


该变量应在视图控制器 B 中声明,并由视图通过委托方法访问。因此视图可以对其进行更新,并在控制器被销毁时将其删除。


推荐阅读