不确定这是否可行。但我想这样做:
let version = "2.0.1"
let year = 2017
let version = "Build \(version), \(year)"
但是,我想从本地化文件中获取版本字符串。即
let version = "2.0.1"
let year = 2017
let versionTemplate = NSLocalizedString("version.template", comment:"")
let version = ???? // Something done with versionTemplate
我已经看过使用NSExpression
了,但是如果它可以做到这一点或者如何做就不明显。
有人这样做吗?
答案 0 :(得分:6)
完全可能
您想要使用String初始化程序而不是文字。
let version = "2.0.1"
let year = 2017
let versionTemplate = String(format: NSLocalizedString("version.template", comment: ""), arguments: [version, year])
// output: Build 2.0.1, 2017
在localizable.strings
文件中,您需要拥有如下模板:
"version.template" = "Build %@, %ld"
您可以在此处使用各种格式说明符。检查文档中的所有可能性。 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html#//apple_ref/doc/uid/TP40004265-SW1