在Swift中将对象设置为清空NSDictionary

NNi*_*ikN 6 nsdictionary ios swift xcode6

我可以创建一个NSDictionary

    var namesDictionary=Dictionary<String,String>()
    namesDictionary["Jacob"] = "Marry"
Run Code Online (Sandbox Code Playgroud)

但是,当我创建一个像下面编码的空字典时,第1行我没问题,但第2行(添加值)会引发错误.

    var namesDictionary =[:]
    namesDictionary["Jacob"] = "Marry"
Run Code Online (Sandbox Code Playgroud)

错误是"无法分配给此表达式的结果".有没有其他方法来分配值.

Con*_*nor 13

看起来这是一个快速解释字典类型的问题.尝试明确键入空字典.

var namesDictionary: Dictionary<String, String> = [:]
namesDictionary["Jacob"] = "Marry"
Run Code Online (Sandbox Code Playgroud)

我认为更好的用途[:]是清空已经定义的字典.如果添加第三行namesDictionary = [:],您将能够namesDictionary["Jacob"] = "Marry"再次调用,因为编译器知道它来自初始声明的字典类型.