作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个枚举:
enum switch : String {
case on = "powerOn"
case off = "powerOff"
var japanswitch : String {
case .on : return "onpu"
case .off : return "offu"
}
}
在我的代码中,我的函数将“powerOn”作为纯字符串参数传递下去。问题是我的功能需要将“powerOn”翻译成 japanswitch。
但问题是“powerOn”现在只是一个字符串,与 japanswitch 完全没有关系。
如何将“powerOn”翻译成 japanswitch?期望的结果应该是“onpu”。
最佳答案
首先你需要修复你的代码以便它编译:
enum Switch : String {
case on = "powerOn"
case off = "powerOff"
var japanswitch : String {
switch self {
case .on : return "onpu"
case .off : return "offu"
}
}
}
那么使用之后就可以达到你的目的了:
let japanese = Switch(rawValue:"powerOn")?.japanswitch
请注意,japanese
是可选的;您需要决定如何处理无效的原始值。
关于Swift ENUM 如何将 "rawValue"转换回枚举大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52184698/
我是一名优秀的程序员,十分优秀!