private enum ViewMetrics {
static let fontSize: CGFloat = 24.0
static let spacing: CGFloat = 16.0
}
您能为我解释一下吗?
我们如何编写不带大小写的枚举,以及如何在枚举中定义静态属性。我没有在Apple官方指南中找到此主题。 任何人都可以通过正确的参考帮助我来了解此主题。
答案 0 :(得分:3)
您为什么不能这样做?
Swift枚举是一流的类型,就像struct
和class
es。 Swift enum
不需要大小写,它们可以是完全空的类型,就像struct
或class
不需要任何属性一样。
enum Empty {} // completely valid
enum
不能具有_存储的实例属性_,但是可以具有 type属性(其中static
属性是)和计算实例属性。
具有静态属性的无条件枚举通常用于存储常量值。有关该主题的更多信息,请参见Swift constants struct or enum
这可能不会在Swift文档的Enumerations部分中进行记录,但是没有人说这也不可能。另一方面,文档确实指出枚举是一流的类型,并且存在枚举与类和结构共享的功能的详尽列表。
答案 1 :(得分:1)
没有任何情况的enum
可以拥有static properties
,因为它们与enum
的情况无关。就像没有任何属性的struct
或具有class
的空static properties
一样。 static
不是基于某事物的实例。
这里是link,它是快速文档,它清楚地说明了实例和静态属性。