在多种方法中使用相同的货币格式
Using the Same Currency Formatting in Multiple Methods
我正在使用某种货币格式将货币 symbols/styles 设置为用户的本地设置。这是我的代码。我认为它工作正常。它位于我的 viewDidLoad 中。
let currencyFormat = NumberFormatter()
currencyFormat.locale = NSLocale.current
currencyFormat.usesGroupingSeparator = true
currencyFormat.numberStyle = NumberFormatter.Style.currency
...
labelTotalAmount.text = currencyFormat.string(for: totalAmount)
问题是,我想在另外两种不同的方法中使用相同的格式。每当我想格式化时,为每个方法重复格式化似乎是一种浪费。
有没有办法设置一次格式并让它记住 class 的每个方法中的设置?
我正在使用 Swift 3. 感谢您提供的任何帮助!!
使其成为 class 的计算 属性:
class Whatever {
let currencyFormat: NumberFormatter = {
let res = NumberFormatter()
res.numberStyle = .currency
res.usesGroupingSeparator = true
return res
}()
}
现在您可以在任何方法中使用 属性。
func someMethod() {
let str = currencyFormat.string(for: 5.99)
}
我正在使用某种货币格式将货币 symbols/styles 设置为用户的本地设置。这是我的代码。我认为它工作正常。它位于我的 viewDidLoad 中。
let currencyFormat = NumberFormatter()
currencyFormat.locale = NSLocale.current
currencyFormat.usesGroupingSeparator = true
currencyFormat.numberStyle = NumberFormatter.Style.currency
...
labelTotalAmount.text = currencyFormat.string(for: totalAmount)
问题是,我想在另外两种不同的方法中使用相同的格式。每当我想格式化时,为每个方法重复格式化似乎是一种浪费。
有没有办法设置一次格式并让它记住 class 的每个方法中的设置?
我正在使用 Swift 3. 感谢您提供的任何帮助!!
使其成为 class 的计算 属性:
class Whatever {
let currencyFormat: NumberFormatter = {
let res = NumberFormatter()
res.numberStyle = .currency
res.usesGroupingSeparator = true
return res
}()
}
现在您可以在任何方法中使用 属性。
func someMethod() {
let str = currencyFormat.string(for: 5.99)
}