作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
不确定我是否正确地问了这个问题。但基本上我想通过字符串值和/或枚举来引用类的成员
例如我有以下内容。
var total:Int = 0
if locale.currencyCode == "JPY" {
for item in Cart.items {
total += item.fabric.price.JPY * item.quantity
}
}else{
for item in Cart.items {
total += item.fabric.price.USD * item.quantity
}
}
subtotalAmountLabel.text = "\(total.formatMoney())"
但是,我想改写如下内容。
var total:Int = 0
for item in Cart.items {
total += item.fabric.price[locale.currencyCode]* item.quantity
}
subtotalAmountLabel.text = "\(total.formatMoney())"
有没有办法做到这一点?
最佳答案
你应该改用字典。
// this should be the declaration of item.fabric.price
let prices = [
"JPY": <some price>,
"USD": <some price>,
// and so on
]
然后你可以使用一个字符串来访问它:
if let price = item.fabric.prices[locale.currencyCode] {
// ...
} else {
// If execution ever reaches here, that means there is no price available in that currency.
}
关于swift - 通过字符串和/或枚举引用类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52492019/
我是一名优秀的程序员,十分优秀!