我的代码中有一些输出,所以我用一个枚举字符串将它们重新组合了。
问题是我有一些包含变量的输出。
是否可以创建一个接受变量的枚举?
以该字符串为例
print("The name of the Team is \(team.name)")
我想做这样的事情:
enum Exemple: String {
case TEAM_NAME(name: String) = "The name of the Team is \(name)"}
print(Exemple.TEAM.NAME("Team 1").rawvalue)
谢谢
答案 0 :(得分:1)
您可以为枚举定义实例方法或计算属性,该枚举将根据枚举大小写和关联值返回字符串值。请参阅游乐场示例。
enum Example {
case firstItem
case secondItem(withText: String)
var stringValue: String {
switch self {
case .firstItem: return "Simple string"
case .secondItem(withText: let text): return "String with additional text: \(text)"
}
}
}
let myEnumItem: Example = .secondItem(withText: "Test")
let text = myEnumItem.stringValue
答案 1 :(得分:0)
枚举不可能同时具有原始值和关联值。我认为您可以实现相关的价值。没有原始值,枚举仍然可以为您提供足够的信息来构成消息
答案 2 :(得分:0)
可能有一个带有与案例关联值的枚举。但是为了获得您想要的输出,您将需要一个函数。
enum Example {
case teamName(name: String)
case teamId(id: Int)
func printName() {
switch self {
case .teamName(name: let name):
print(name)
default:
break
}
}
}
let team = Example.teamName(name: "team1")
team.printName() // prints team1