枚举中的静态属性

时间:2020-06-15 10:12:34

标签: swift enums

private enum ViewMetrics {
    static let fontSize: CGFloat = 24.0
    static let spacing: CGFloat = 16.0
}

您能为我解释一下吗?

我们如何编写不带大小写的枚举,以及如何在枚举中定义静态属性。我没有在Apple官方指南中找到此主题。 任何人都可以通过正确的参考帮助我来了解此主题。

2 个答案:

答案 0 :(得分:3)

您为什么不能这样做?

Swift枚举是一流的类型,就像structclass es。 Swift enum不需要大小写,它们可以是完全空的类型,就像structclass不需要任何属性一样。

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,它是快速文档,它清楚地说明了实例和静态属性。

相关问题