我在枚举中有一些属性,我需要一个包含这些常量的数组来匹配字符串键。我需要自动地遍历它们。我不能更改输入,因为它已经生成了。
public enum Items {
public static let a = Assets(named: "A")
public static let b = Assets(named: "B")
public static let c = Assets(named: "C")
public static let d = Assets(named: "D")
public static let e = Assets(named: "E")
}
我试过镜像他们。
1条答案
按热度按时间uurv41yg1#
如果你只是用枚举作为占位符来放置你的静态变量,这很简单,只要创建一个静态数组,里面有所有的属性。
但是,如果您担心可能忘记向数组中添加新属性,则可以正确使用枚举。使用
rawValue
为String
且符合CaseIterable
的枚举,并定义所有事例。然后添加一个属性,该属性基于事例的rawValue获取Assets
。然后,您可以使用枚举的allCases
属性获取所有事例。CaseIterable
枚举具有自动合成的allCases
属性。如果添加新大小写,则它将自动合成为allCases
。