我正在尝试在 Swift 中实现以下目标。
向枚举添加更多案例,而不是编辑现有案例。
例如,我有以下枚举,我想使用扩展添加更多案例,而不是在原始枚举上进行编辑。
enum UIType: String, Codable {
case borderButton = "border_button"
case bottomSheet = "bottom_sheet"
}
现在如果我想向枚举添加更多元素
case borderLabel = "border_Label"
这不可能。
添加一个case
to an enum
在扩展中相当于添加一个存储的属性class
or struct
。 (这也是不可能的)
另请参阅文档:
扩展向现有的类、结构、枚举或协议类型添加新功能。这包括扩展您无权访问原始源代码的类型的能力(称为追溯建模)。
—https://docs.swift.org/swift-book/LanguageGuide/Extensions.html https://docs.swift.org/swift-book/LanguageGuide/Extensions.html
扩展只能添加新功能。
添加属性将改变内存大小存储对象所需的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)