首页 > 解决方案 > 在 Swift 中定义常量

问题描述

我注意到在 Swift 中定义常量的非常流行的技术如下所示:

struct Constants {
        static let fileDownloadTimeOut: TimeInterval = 45 * 60
        static let timeout: TimeInterval = 60
        static let perPageCount = 10
        static let usersPerPageCount = 15
}

从一个角度来看 - 它在语法方面看起来非常整洁和漂亮。但是,我发现的问题是静态变量的大量使用。

据我所知,static变量的行为方式SwiftC++. 这些变量在编译期间被初始化并保留在内存中直到应用程序死掉。

接下来是我用这种方法发现的问题:

1) 污染RAM。我知道开发人员保存内存的每个字节的时代已经过去,但这并不意味着我们不应该正确维护我们的存储资源。

2)我有很大的背景,C++我发现这种技术是一种“坏品味”。我总是不鼓励将static变量用于“语法糖”,这就是为什么我习惯于static仅在绝对需要时才创建变量。

问题是 - 我在网上搜索了很长时间,以找到一些其他建议来很好地定义常量Swift,但我发现除了这种带有一堆静态变量的结构的方法之外,我什么也没找到。

static let当涉及到创建Singleton或永远存在直到应用程序死亡的对象时,我理解使用常量的方法。但是我注意到,这种确切的方法也被推荐用于视图控制器或其他临时对象,从逻辑上讲这是错误的。

我是否对这种趋势反应过度,这是其他开发者社区改变和接受的事情之一?我希望能得到一些意见。

提前致谢!

标签: swiftmemorystaticconstants

解决方案


推荐阅读