我正在使用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
方法,并得到相同的结果
为什么NSLocalizedString
在struct
内部而不在扩展名中识别? (它们在同一个文件中)
我想念什么吗?
使用
extension String {
var localized: String {
return NSLocalizedString(self, comment: "")
}
}
然后获得价值做
print("String 1".localized)