我使用从Localizable.strings返回的值的密钥发送到设备的推送通知。参数的数量是可变的,有时它只需要一个,有时需要一些。
通常本地化一个字符串我会用它:
String.localizedStringWithFormat(NSLocalizedString(notification.localisedKey, comment: "a comment"), notification.localisedArguments)
但是,仅当notification.localisedArguments
为单个值时才有效。如果它是一个数组,它会崩溃。
iOS 10中的解决方法是使用以下代码:
NSString.localizedUserNotificationString(forKey: notification.localisedKey, arguments: notification.localisedArguments)
如何为iOS 9及更低版本做一个等效的工作?
答案 0 :(得分:0)
试试这个(未经测试):
let localizedString = NSLocalizedString(notification.localisedKey, comment: "a comment")
let result = withVaList(notification.localisedArguments) {
String.localizedStringWithFormat(localizedString, $0)
}