如果您将以下简单的代码片段放入Playground:
import Foundation
let humanReadableNames = [
"test": NSLocalizedString("foo")
]
你会得到编译错误:
Cannot confer the expression's type 'Dictionary' to type 'DictionaryLiteralConvertible'
Swift函数NSLocalizedString
被定义为返回String
,所以我不明白为什么这个变量的类型不仅仅是Dictionary<String, String>
。
答案 0 :(得分:2)
看起来您需要将注释参数添加到NSLocalizedString()。
let humanReadableNames = [
"test": NSLocalizedString("foo", comment:"bar")
]