我正在尝试显示包含参数的本地化字符串。结果不是将嵌入参数的字符串显示在一行中,而是显示一个损坏的 3 行字符串:
预期结果:
The price is $9.99/year.
Result:
The price is (
"$9.99"
)/year.
可本地化的字符串:
"price_string" = "The price is %@/year.";
Call:
"price_string".localized(priceString)
where priceString
是一个字符串变量。
And .localized()
定义如下:
extension String {
var localized: String {
return NSLocalizedString(self, comment: "\(self)_comment")
}
func localized(_ args: CVarArg...) -> String {
return String(format: localized, args)
}
}
请查看输出。它清楚地表明,price参数是一个数组。确实是可变参数args
被视为数组。
所以你只是使用了错误的 API
func localized(_ args: CVarArg...) -> String {
return String(format: localized, arguments: args)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)