Swift 如何访问枚举中的静态值?
我定义了以下枚举。Swift 如何访问枚举中的静态值?,swift,Swift,我定义了以下枚举。 没有原始值,它是为了方便使用LocalizedString enum本地化{ 枚举Str{ 静态let title=NSLocalizedString(“myTitle”,注释:“”) 静态let name=NSLocalizedString(“myName”,注释:“”) } } //使用方法如下 打印(本地化的.Str.title)//我的标题 print(本地化的.Str.name)//James 我可以将其包装为以下函数来使用吗? 我想做一个函数,它接收键作为参数
没有原始值,它是为了方便使用LocalizedString
enum本地化{
枚举Str{
静态let title=NSLocalizedString(“myTitle”,注释:“”)
静态let name=NSLocalizedString(“myName”,注释:“”)
}
}
//使用方法如下
打印(本地化的.Str.title)//我的标题
print(本地化的.Str.name)//James
我可以将其包装为以下函数来使用吗?我想做一个函数,它接收键作为参数
func convertString(带键:String)->String{
return Localized.Str.key//我想这样做。
}
//我可以按如下方式使用它吗?
打印(转换字符串(带:“标题”)//我的标题
打印(转换字符串(带:“name”)//James
//本地化文件
“我的头衔”=“我的头衔”;
“我的名字”=“詹姆斯”;
您可以稍微更改代码:
enum Str: String {
// Your cases
case title = "myTitle"
case name = "myName"
// Create computed property or function
var localized: Sting {
NSLocalizedString(self.rawValue, comment: "")
}
}
您可以这样使用它:
Str.name.localized
这会更符合人体工程学吗
enum Strings: String, CustomStringConvertible {
case title = "myTitle"
case name = "myName"
var description: String {
NSLocalizedString(rawValue, comment: "")
}
}
为什么不使用
Localized.Str.title
而不是“title”
@EmilioPelaez?这个问题假设enum无法修改。您想要的内容非常不清楚,而且您发布了三次的评论也没有做任何澄清。您甚至没有使用枚举案例。我投票结束此问题。此问题假设无法修改枚举。此问题假设无法修改枚举。