Swift4 显示Swift 4.1中键的本地化字符串
我一直在开发一个使用NSLocalized字符串的应用程序,但当我运行该应用程序时,它会显示本地化字符串的键,而不是字符串本身。 例子: 创建一个类初始值设定项Swift4 显示Swift 4.1中键的本地化字符串,swift4,Swift4,我一直在开发一个使用NSLocalized字符串的应用程序,但当我运行该应用程序时,它会显示本地化字符串的键,而不是字符串本身。 例子: 创建一个类初始值设定项 class TestClass { let name: String init(myName: String) { name = myName } } 初始化我的测试 class TestString { var list = [TestClass]() init() {
class TestClass {
let name: String
init(myName: String) {
name = myName
}
}
初始化我的测试
class TestString {
var list = [TestClass]()
init() {
list.append(TestClass(myName: NSLocalizedString("Don", comment: "Test 1")))
list.append(TestClass(myName: NSLocalizedString("Amanda", comment: "Test 2")))
}
}
和我的视图控制器:
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
var allNames = TestString()
var count = 0
@IBAction func button(_ sender: UIButton) {
label.text = allNames.list[count].name
count += 1
}
}
字符串文件是:
"Don" = "Donald Belliveau";
"Amanda" = "Amanda Ferguson";
当我运行应用程序时,我应该会看到我的标签显示Donald Belliveau,只要我点击按钮,但我看到的是Don。这在上周(Swift 4.0)才起作用,但现在似乎不起作用。非常感谢您的帮助。您可以使用以下代码尝试调试字符串值:
NSLocalizedString("Don", tableName: "Localized", bundle: Bundle.main, comment: "")
确保:
- 表名应与字符串文件名完全相同
- bundle应该与您的项目bundle名称完全一致