我创建了一个词典:
var myDictionary = [String: [NSDate, String]]()
我试图在字典中设置值:
datesDictionary.updateValue([NSDate(), "string1"] , forKey: "string2")
我收到编译错误:
无法调用" updateValue'使用类型的参数列表 '([NSObject],forKey:String)'
出了什么问题?关于字典我有什么遗漏?我没有将它设置为可选项。
答案 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)