Wie wird der Wert einer Variablen (Zeichenfolge) so festgelegt, dass er einem Schlüssel in einem Array entspricht?

Ich habe das folgende Array:

var deckArray = [
        "card1": ["rank","suit"],
        "card2": ["rank","suit"],
        "card3": ["rank","suit"],
        "card4": ["rank","suit"],
        "card5": ["rank","suit"],
        "card6": ["rank","suit"],
        "card7": ["rank","suit"],
]

Der Kürze halber habe ich den Rest des Arrays abgeschnitten, aber das Ganze enthält 52 Objekte. Ich möchte eine Zufallszahl zwischen 1 und 52 auswählen und das @ setzefirstCardString -Eigenschaft muss gleich dem Schlüssel sein, der diesem Index im Array entspricht.

Zum Beispiel, wenn die Zufallszahl, die es erzeugt, @ i5, es würde @ setzfirstCardString gleich @ secard5.

Ich habe versucht es so zu machen:

let firstRandomNumber = Int(arc4random_uniform(52))
let firstCardString:String = self.deckArray[firstRandomNumber]

Aber ich erhalte den folgenden Fehler:

Kann keinen Wert vom Typ '[String: Array]' mit einem Index vom Typ 'Int' subskribieren

Das ergibt keinen Sinn, weilfirstCardString:string ist explizit vom Typstring, nicht int.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage