在Swift中定义常量

时间:2019-04-08 18:47:21

标签: swift memory static constants

我注意到,在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或永久存在直到应用程序终止的对象。但是我注意到,还建议在视图控制器或其他临时对象中使用这种精确方法,从逻辑上讲这是错误的。

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

谢谢!

0 个答案:

没有答案