在Swift中,什么是DictionaryLiteralConvertible?

时间:2014-06-06 00:20:24

标签: swift

如果您将以下简单的代码片段放入Playground:

import Foundation

let humanReadableNames = [
    "test": NSLocalizedString("foo")
]

你会得到编译错误:

Cannot confer the expression's type 'Dictionary' to type 'DictionaryLiteralConvertible'

Swift函数NSLocalizedString被定义为返回String,所以我不明白为什么这个变量的类型不仅仅是Dictionary<String, String>

1 个答案:

答案 0 :(得分:2)

看起来您需要将注释参数添加到NSLocalizedString()。

let humanReadableNames = [
            "test": NSLocalizedString("foo", comment:"bar")
        ]