我注意到,在Swift中定义常量的非常流行的技术如下:
struct Constants {
static let fileDownloadTimeOut: TimeInterval = 45 * 60
static let timeout: TimeInterval = 60
static let perPageCount = 10
static let usersPerPageCount = 15
}
从一个角度来看-在语法方面看起来非常整洁和美观。但是,我发现的问题是大量使用了静态变量。
据我所知,static
变量在Swift
中的行为与在C++
中相同。这些变量在编译时初始化,并保留在内存中,直到应用程序终止。
下一个我发现的问题是问题
1)污染了RAM
。我知道开发人员保存内存的每个字节的时代已经过去了,但这仍然并不意味着我们不应该适当地维护我们的存储资源。
2)我有C++
的背景,并且发现这种技术是“不良品味”。始终不鼓励我将static
变量用于“语法糖”,这就是为什么仅在绝对需要时才习惯创建static
变量的原因。
问题是-我在网上搜索了很长时间,找到了一些其他建议来很好地在Swift
中定义常量,但是除了这种方法是使用带有一堆静态变量的结构之外,我什么也没发现。 / p>
我了解使用static let
常量的方法来创建Singleton
或永久存在直到应用程序终止的对象。但是我注意到,还建议在视图控制器或其他临时对象中使用这种精确方法,从逻辑上讲这是错误的。
我是否对这种趋势反应过度,这是其他开发者社区改变并接受的事情之一吗?我希望对此发表一些意见。
谢谢!