无法使用类型的参数列表([' NSObject'],forKey:String)调用updateValue

时间:2015-05-13 06:52:12

标签: ios function swift variables dictionary

我创建了一个词典:

var myDictionary = [String: [NSDate, String]]()

我试图在字典中设置值:

datesDictionary.updateValue([NSDate(), "string1"] , forKey: "string2")

我收到编译错误:

  

无法调用" updateValue'使用类型的参数列表   '([NSObject],forKey:String)'

出了什么问题?关于字典我有什么遗漏?我没有将它设置为可选项。

1 个答案:

答案 0 :(得分:3)

我猜你不想要一个数组,如果你知道数组中每个对象的类型,那么数组很短。 在swift中,我认为这更好

var myDictionary = [String: (NSDate, String)]()
myDictionary.updateValue((NSDate(), "string1") , forKey: "string2")
println(myDictionary)

即使您接受我的回答,我也想指出,在您的代码中,您可以定义像这样的字典[String : [(NSDate, String)]]

因此,您的密钥为String,值为数组 [(NSDate, String)],此数组中每个对象的类型为(NSDate, String)

所以,如果你想让你的代码有效,你就必须这样做

var myDic2 = [String:[NSDate,String]]()
myDic2.updateValue([(NSDate(),"string2")], forKey: "string1")
println(myDic2)