gpt4 book ai didi

swift - 在 Swift 中,是否可以将字符串转换为枚举?

转载 作者:行者123 更新时间:2023-11-30 13:19:02 38 4
gpt4 key购买 nike

如果我有一个包含 a、b、c、d 情况的枚举,我是否可以将字符串“a”转换为枚举?

最佳答案

当然。枚举可以有原始值。引用文档:

Raw values can be strings, characters, or any of the integer orfloating-point number types

— Excerpt From: Apple Inc. “The Swift Programming Language.” iBooks. https://itun.es/us/jEUH0.l,

所以你可以使用这样的代码:

enum StringEnum: String 
{
case one = "value one"
case two = "value two"
case three = "value three"
}

let anEnum = StringEnum(rawValue: "value one")!

print("anEnum = \"\(anEnum.rawValue)\"")

注意:您不需要在每种情况后写=“one”等。默认字符串值与案例名称相同,因此调用 .rawValue 将仅返回一个字符串

编辑

如果您需要字符串值包含空格等作为 case 值的一部分无效的内容,则需要显式设置该字符串。所以,

enum StringEnum: String 
{
case one
case two
case three
}

let anEnum = StringEnum.one
print("anEnum = \"\(anEnum)\"")

给出

anEnum = "one"

但是如果您希望 case one 显示“值一”,您将需要提供字符串值:

enum StringEnum: String 
{
case one = "value one"
case two = "value two"
case three = "value three"
}

关于swift - 在 Swift 中,是否可以将字符串转换为枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37940914/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com