为什么我不能将SetValue用于Dictionary?

时间:2014-10-11 10:53:01

标签: swift xcode6

Hello Everyone我是swift的新手,在我的应用程序中,我声明了一个这样的词典:

var imageDict : Dictionary<String, String> = [:]

我想为这个字典设置这样的值:

imageDict.setValue(NSStringFromCGPoint(frame), forKey: NSString.stringWithString("/(tagValue)"));

但是我得到了这样的错误:

Dictonary <String, String> does not have a member named 'setValue'

这个问题来自我之前的问题,并且可以通过enybody解释为什么我无法为该词典设定价值,并且enybody能告诉我其他任何方式吗?

提前致谢。

3 个答案:

答案 0 :(得分:12)

Swift字典没有像setValue这样的方法:forKey:。只有NSMutableDictionary有这样的方法。如果你想在swift中为key赋值,你应该使用下标。如果你想用swift词典做这件事,这是正确的方法。

var imageDict:[String: String] = [:]

imageDict["\(tagValue)"] = NSStringFromCGRect(frame)

或者如果您希望使用NSMutableDictionary,它看起来像这样,

var imageDict = NSMutableDictionary()
imageDict.setObject(NSStringFromCGRect(frame), forKey: "\(tagValue)")

答案 1 :(得分:0)

我猜你需要使用NSMutableDictionary。

答案 2 :(得分:-3)

您可以像这样使用NSMutableDictionary!

 var emptyDictionary = NSMutableDictionary()

 emptyDictionary.setObject("Your_Value", forKey:"Your_key")

 print(emptyDictionary)