NSLocalized Strings在Swift 4.1中显示关键字

时间:2018-04-04 01:42:47

标签: swift4

我一直在研究一个使用NSLocalized Strings的应用程序但是当我运行应用程序时它会向我显示本地化字符串的键而不是字符串本身。 例: 创建一个类初始化程序。

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
    }
}

String文件是:

"Don" = "Donald Belliveau";
"Amanda" = "Amanda Ferguson";

当我运行应用程序时,我应该看到我的标签显示Donald Belliveau一旦我点击按钮但我看到Don。这只是上周(Swift 4.0)的工作,但现在似乎并非如此。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你可以试试&使用以下代码调试字符串值:

NSLocalizedString("Don", tableName: "Localized", bundle: Bundle.main, comment: "")

确保:

  • tableName 应与字符串文件名
  • 完全相同
  • 捆绑应该是您的项目捆绑名称。