在Swift结构中使用静态常量的目的是什么?

14 浏览
0 Comments

在Swift结构中使用静态常量的目的是什么?

在跟随一个使用Keychain功能的教程时,我注意到一段代码中需要实现以下的结构体:\n// Keychain Configuration\nstruct KeychainConfiguration {\n static let serviceName = \"TouchMeIn\"\n static let accessGroup: String? = nil\n}\n\n我知道在值类型上的常量属性一旦实例化就不能被修改,所以我很好奇在这种情况下使用static的目的是什么?\n
\nP.S.
\n这个问题与这个问题不相似,因为最高接受的答案(我认为是最好的答案)没有提供足够的细节或任何优缺点。

0
0 Comments

使用静态常量的目的是什么?

在Swift结构中使用静态常量有多种应用,包括但不限于以下几种:

1) 如果常量具有相同的名称,可以为常量提供单独的命名空间。

struct A {

static let width: Int = 100

}

struct B {

static let width: Int = 100

}

print(A.width)

print(B.width)

2) 静态常量是按需加载的,因此如果你要使用按需加载的全局常量,将其放入结构中可能会很方便。

3) 显示给你的同事常量适用于特定的域,其中给定的结构被使用。

4) 将配置按部分组织:Theme.Layout.itemHeightLabel.Font.avenirNext

事实上,枚举更适合用于命名空间。

这并不否认结构也可以用于命名空间。

当你有筷子时,你不会用勺子吃面条。

我可以将上面的代码放入枚举中吗,因为它们是字符串?我尝试过,但没有成功。你能提供一个例子吗?

0