为什么NSLocalizedString在同一文件中生成'使用未声明的类型'?

问题描述 投票:0回答:1

我正在使用Xcode 10.3和Swift 5

我的本地化字符串具有如下长结构:

import Foundation
struct Strings {
    static let string1 = NSLocalizedString("String 1", comment:"")
    ....
}

我想消除所有重复文本(每个结构项末尾的注释:“”),因此我在同一文件中按如下所示编写了一行扩展名,但在'Use of undeclared type'中出现错误扩展名

import Foundation
extension NSLocalizedString {  // 'Use of undeclared type'
}     
struct Strings {
    static let string1 = NSLocalizedString("String 1", comment:"")
    ...
}

我尝试对String扩展名和新类LString进行同样的操作,并创建一个返回class对象的NSLocalizedString方法,并得到相同的结果

为什么NSLocalizedStringstruct内部而不在扩展名中识别? (它们在同一个文件中)

我想念什么吗?

swift xcode nslocalizedstring
1个回答
0
投票

使用

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

然后获得价值做

print("String 1".localized)
© www.soinside.com 2019 - 2024. All rights reserved.