2017-02-02 2 views
0

Ich habe ein Wörterbuch erstellt und es hat bereits mehrere Werte, jedoch möchte ich jetzt weitere hinzufügen. Und ich weiß, dass ich Schlüssel-Wert-Paare wie folgt hinzufügen:Mehrere Schlüssel-Wert-Paare zu einem vorhandenen Wörterbuch hinzufügen

var Dict = [Int: String]() 
Dict = [1: "one", 0: "zero"] 
Dict[2] = "two" 
Dict[3] = "tres" 

Aber ich frage mich, wie viele Paare in der gleichen Zeit zu schreiben, denn wenn sie zu viele sind, und es wäre eine wirklich lange dauern, Prozess, um es so zu machen.

weiß, dass ich dies in einem Array wie dies getan werden kann:

Array += [1, 2, 3, 4, 5, 6] 

Aber weiß nicht, ob das gleiche für Wörterbücher getan werden kann.

+1

Was genau meinen Sie mit "* Ich möchte viele Paare gleichzeitig hinzufügen *" - woher kommen diese Paare? – Hamish

+0

Ich meine ein Schlüssel-Wert-Paar, wie das [1: "Eins"]. Aber mehrere von ihnen zur gleichen Zeit, wie wenn Sie viele Werte auf einmal in einem Array hinzufügen: –

+0

Ja, ich verstand das, aber was ich meinte, war woher bekommen Sie diese Schlüssel-Wert-Paare? Sind sie fest codiert oder stammen sie von einer Datenquelle? Es wäre sehr hilfreich, wenn Sie Ihrer Frage einen Kontext hinzufügen würden. – Hamish

Antwort

0

Es gibt einige knifflige Dinge, die Sie mit Flatmap tun können, aber im Allgemeinen hat Swifts Dictionary nicht die append (: Collection) -Methode, die Array tut, weil das Hinzufügen eines unbekannten Dictionary doppelte Schlüssel und Fehler verursachen kann. Wenn Sie ein weiteres Wörterbuch hinzufügen möchten, müssen Sie darüber iterieren. Dieser Code

var dict1 : [String:String] = ["one" : "two", "three" : "four"] 
var dict2 : [String:String] = ["one" : "two", "three" : "five"] 
for(key, value) in dict2 { 
    dict1[key] = value 
} 

ersetzt alle doppelten Schlüssel mit den Werten im zweiten Wörterbuch. Wenn Sie keine doppelten Schlüssel haben, wird dies genau das tun, was Sie wollen. Wenn Sie doppelte Schlüssel haben, dann bestimmen Sie, welche Werte Priorität haben, und stellen Sie sicher, dass diese Werte in Ihrem dict2 sind.

Verwandte Themen