我注意到在枚举内部的某些情况,而不是人们使用static let声明变量的情况。这种做法合理吗?
public enum ExampleEnum {
static let case1 = "case1"
static let case2 = "case2"
static let case3 = "case3"
}
答案 0 :(得分:3)
这是为常量创建名称空间的快速方法。
您当然可以使用结构来达到类似的效果,但是运行let foo = StructOnlyForStoringConstants()
不会引发错误甚至警告(可以使用private init
甚至记录警告来解决,但很快就会丢失quick
中的a quick way
),因此可能会造成混淆(some argue)。由于无法实例化没有大小写的枚举(或“ no-case enums
”),因此您不会遇到此问题。
另一个原因是,将常量放入枚举可能感觉更自然(比在结构中说得更自然),因为枚举用于存储一组相关值。