2014-10-11 20 views
7

Witam wszystkich jestem nowy w szybki i moim app Oświadczam słownika tak:Dlaczego nie mogę używać SetValue do słownika?

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

i chcę ustawić wartości dla tego słownika jak ten:

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

Ale mam błąd tak:

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

to pytanie jest z mojego poprzedniego pytania i może enybody wyjaśnić mój, dlaczego nie można ustawić wartość dla tej dictionar i może enybo dy powiedzieć mi w inny sposób to zrobić?

Dzięki Z góry.

Odpowiedz

11

Słownik Swift nie ma metody takiej jak setValue: forKey :. Tylko NSMutableDictionary ma takie metody. Jeśli chcesz szybko przypisać wartość dla klawisza, powinieneś użyć indeksowania. Tutaj jest poprawny sposób, aby to zrobić, jeśli chcesz zrobić to za pomocą szybkiego słownika.

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

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

Lub jeśli chcesz użyć NSMutableDictionary wtedy wygląda to tak,

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

Podejrzewam, że musisz użyć NSMutableDictionary.

-3

Można użyć NSMutableDictionary tak!

var emptyDictionary = NSMutableDictionary() 

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

print(emptyDictionary) 
+3

Ta sama sugestia co zaakceptowana odpowiedź sprzed 2 lat ... – Moritz

Powiązane problemy