Du benutzt NSDictionary
. Sofern Sie aus irgendeinem Grund nicht ausdrücklich diesen Typ benötigen, empfehle ich die Verwendung eines Swift-Wörterbuchs.
Sie können ein Swift-Wörterbuch an jede Funktion übergeben, die NSDictionary
ohne zusätzliche Arbeit erwartet wird , da Dictionary<>
und NSDictionary
nahtlos miteinander verbunden werden. Der Vorteil der nativen Swift-Methode besteht darin, dass das Wörterbuch generische Typen verwendet. Wenn Sie es also Int
als Schlüssel und String
als Wert definieren, können Sie nicht fälschlicherweise Schlüssel und Werte verschiedener Typen verwenden. (Der Compiler überprüft die Typen in Ihrem Namen.)
Basierend auf dem, was ich in Ihrem Code sehe, wird Ihr Wörterbuch Int
als Schlüssel und String
als Wert verwendet. Um eine Instanz zu erstellen und ein Element zu einem späteren Zeitpunkt hinzuzufügen, können Sie diesen Code verwenden:
var dict = [1: "abc", 2: "cde"] // dict is of type Dictionary<Int, String>
dict[3] = "efg"
Wenn Sie es später einer Variablen vom NSDictionary
Typ zuweisen müssen, führen Sie einfach eine explizite Umwandlung durch:
let nsDict = dict as! NSDictionary
Wenn Sie es, wie bereits erwähnt, an eine erwartete Funktion übergeben möchten, übergeben Sie es unverändert NSDictionary
ohne Umwandlung oder Konvertierung.