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 NSDictionaryohne zusätzliche Arbeit erwartet wird , da Dictionary<>und NSDictionarynahtlos miteinander verbunden werden. Der Vorteil der nativen Swift-Methode besteht darin, dass das Wörterbuch generische Typen verwendet. Wenn Sie es also Intals Schlüssel und Stringals 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 Intals Schlüssel und Stringals 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 NSDictionaryTyp 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 NSDictionaryohne Umwandlung oder Konvertierung.