gpt4 book ai didi

string - Swift:将枚举值转换为字符串?

转载 作者:IT王子 更新时间:2023-10-29 04:56:08 27 4
gpt4 key购买 nike

给定以下枚举:

enum Audience {
case Public
case Friends
case Private
}

如何从下面的 audience 常量中获取字符串 "Public"

let audience = Audience.Public

最佳答案

“获取字符串”的惯用接口(interface)是使用 CustomStringConvertible 接口(interface)并访问 description getter。将您的 enum 定义为:

enum Foo : CustomStringConvertible {
case Bing
case Bang
case Boom

var description : String {
switch self {
// Use Internationalization, as appropriate.
case .Bing: return "Bing"
case .Bang: return "Bang"
case .Boom: return "Boom"
}
}
}

在行动中:

 > let foo = Foo.Bing
foo: Foo = Bing
> println ("String for 'foo' is \(foo)"
String for 'foo' is Bing

更新:对于 Swift >= 2.0,将 Printable 替换为 CustomStringConvertible

注意:使用CustomStringConvertible 允许Foo 采用不同的原始类型。例如 enum Foo : Int, CustomStringConvertible { ... } 是可能的。这种自由很有用。

关于string - Swift:将枚举值转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24701075/

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