2014-10-11 8 views
7

Hallo, ich bin neu in schnell und in meiner app erkläre ich ein Wörterbuch wie folgt aus:Warum kann ich SetValue für Dictionary nicht verwenden?

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

und ich möchte wie dies für das Wörterbuch Werte setzen:

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

Aber ich habe Fehler wie folgt aus:

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

diese Frage aus meiner vorherigen Frage ist und enybody kann meinen erklären, warum ich für diesen dictionar nicht eingestellten Wert und kann enybo Sag mir irgendeinen anderen Weg, das zu tun?

Dank Im Voraus.

Antwort

11

Swift Wörterbuch hat keine Methode wie setValue: forKey :. Nur NSMutableDictionary verfügt über solche Methoden. Wenn Sie einen Wert für key in swift zuweisen möchten, sollten Sie Subskriptionen verwenden. Hier ist der richtige Weg, wenn Sie es mit einem schnellen Wörterbuch machen möchten.

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

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

Oder wenn Sie dann NSMutableDictionary verwenden wollen, sieht es so aus,

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

Ich denke, Sie müssen NSMutableDictionary verwenden.

-3

Sie NSMutableDictionary wie diese verwenden können!

var emptyDictionary = NSMutableDictionary() 

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

print(emptyDictionary) 
+3

Derselbe Vorschlag wie die angenommene Antwort von vor 2 Jahren ... – Moritz

Verwandte Themen