我有这个函数来显示带有参数的本地化文本:
func displayLocalizedMessage(key: String, args: [CVarArg]) {
    someLabel.text = String.localizedStringWithFormat(NSLocalizedString(key, comment: ""), args)
}
如果我调用它传递两个参数,例如notificationPostTaggingaskey和["Joshua"]for args,本地化字符串如下所示:
"notificationPostTagging" = "%@ tagged you in a post.";
我在应用程序中打印了这个:
(
  Joshua
) tagged you in a post.
有谁知道如何解决这个问题。我无法将第二个参数作为逗号分隔列表传递,因为它来自其他一些对象。
谢谢
localizedStringWithFormat不接受参数数组,而是接受可变参数列表。因此,当您传递 时args,它会将该数组视为唯一一个参数。然后,格式%@说明符将数组转换为字符串,并生成括号。
您应该使用String将格式参数作为数组的初始值设定项。
func displayLocalizedMessage(key: String, args: [CVarArg]) {
    someLabel.text = String(format: NSLocalizedString(key, comment: ""), locale: Locale.current, arguments: args)
}
| 归档时间: | 
 | 
| 查看次数: | 2171 次 | 
| 最近记录: |