首页 > 解决方案 > 为什么 NSLocalizedString 在同一个文件中生成“使用未声明的类型”?

问题描述

我正在使用 Xcode 10.3 和 Swift 5

我的 Localizable Strings 有一个很长的结构,如下所示:

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但在扩展中不被识别?(它们在同一个文件中)

我错过了什么吗?

标签: swiftxcodenslocalizedstring

解决方案


推荐阅读