我正在尝试使用SwiftUI本地化AppleMapView中显示的标记。

但是,MKAnnotation的标记标题的类型固定为String。而且我不想继承或创建自定义类,因为它太麻烦了。

我需要的只是将LocalizedStringKey转换为String 来设置标记的标题。有什么帮助吗?

最佳答案

在字符串中添加扩展名以读取本地化语言

extension String {
    func localized() -> String {
        let path = Bundle.main.path(forResource: "your language", ofType: "lproj")!
        if let bundle = Bundle(path: path) {
            let str = bundle.localizedString(forKey: self, value: nil, table: nil)
            return str
        }
        return ""
    }
}
使用LocalizedStringKey加载示例代码
let title: String = "LocalizedStringKey".localized()

关于ios - 如何在SwiftUI中将LocalizedStringKey更改为String,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60841915/

10-10 08:16