swift - 为什么 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
但在扩展中不被识别?(它们在同一个文件中)
我错过了什么吗?
解决方案
推荐阅读
- html - 我正在尝试放置一个
- regex - 使匹配通用扩展文本替换
- kubernetes - 在具有节点污点的 K8S 集群上运行 Sonobuoy e2e 测试的解决方法
- azure - 在 azure blob 上获取租约一段时间返回 null
- react-native - 多次显示相同项目的平面列表
- php - woocommerce 客户城市将通过“新订单”电子邮件发送
- c++ - 无法在预处理器指令中使用 printf
- html - 如何在不更改其他元素大小的情况下将隐藏元素添加到 flex 父元素?
- bash - sed 仅替换第一次出现,然后仅替换第二次出现,然后仅替换第三次
- haskell - Haskell 工具栈和可执行文件大小