繁体   English   中英

在Swift中更新/更改枚举的rawValue

[英]Update / change the rawValue of a enum in Swift

以下面的枚举为例

enum Name : String {

  case Me = "Prakash"
  case You = "Raman"

}

我可以做以下事情吗

将一个“案例”的原始值更改为其他内容。

Name.Me = "Prak"

向ENUM添加新案例

Name.Last = "Benjamin"

谢谢!

简短的回答:不,你不能。

枚举类型在编译时评估。
在运行时无法更改原始值或添加案例。

唯一的动态行为是使用关联值。

参考: Swift语言指南:枚举

你不能。 相反,您可以重新定义枚举以包含关联的值而不是原始值。

enum Name {
    case Me(String)
    case You(String)
    case Last(String)
}

var me = Name.Me("Prakash")
print(me)
me = .You("Raman")
print(me)
me = .Last("Singh")
print(me)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM