簡體   English   中英

如何在Swift中定位tableView單元格?

[英]How to localize tableView cells in Swift?

如何在Swift中定位TableView單元格?

對於一個String變量,它是:

let alertTitle = NSLocalizedString("a", comment: "")

但是,如何為TableView本地化數組?

let array = ["a", "b", "c", "d", "e"]

您需要像使用alertTitle一樣分別本地化每個字符串。 如果您不對本地化字符串使用注釋(就像大多數人一樣),則可以使用擴展名簡化本地化

extension String {

    var localized: String {
        return NSLocalizedString(self, comment: "")
    }

}

並用定義數組

let array = ["a".localized, "b".localized, "c".localized, "d".localized, "e".localized]

甚至更短

let let array = ["a", "b", "c", "d", "e"].map({ $0.localized })

使用@sundance的String擴展名:

extension String {
    var localized: String {
        return NSLocalizedString(self, comment: "")
    }
}

我更喜歡使用此擴展名而不是[String]

extension Array where Element == String {
    var localized: [Element] {
        return self.map({ $0.localized })
    }
}

然后,您可以使用以下代碼:

let array = ["a", "b", "c", "d", "e"].localized
 let array = [NSLocalizedString("a", comment: ""), NSLocalizedString("b", comment: ""), NSLocalizedString("c", comment: ""), NSLocalizedString("d", comment: ""), NSLocalizedString("e", comment: "")]

本地化相關數據組時的某種方式

 let arrayLocalized = [string]()

 for i in 1...10
 {
   arrayLocalized.append(NSLocalizedString("a\(i)", comment: ""))

 }

本地化文件看起來像這樣

 "a1"="first value";

 "a2"="second value";

  .
  .
  .


 "a10"="last value";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM