Das hängt von Ihren Bedürfnissen ab, möchten Sie, dass es manchmal nil ist? ist es manchmal Null? Wenn ein Array immer einen Wert hat, auch wenn es ein leerer Wert ist, möchte ich es direkt initialisieren und nicht mit dem Auspacken überall hin kämpfen.
Vielleicht, wenn Sie zwei Arrays hatten, war ein normales Array, und das zweite war ein Suchergebnis. Vielleicht möchten Sie prüfen, ob das gesuchte Ergebnis zuerst Null ist. Wenn ja, zeigen Sie das Array1 an, wenn es nicht angezeigt wird.
Und das bedeutet, dass Sie nur "manchmal" suchen, so dass Array nur manchmal verwendet wird - so können Sie auch, wenn nicht verwendet, die Zuordnung aufgehoben haben, wenn Sie es die meiste Zeit nicht verwenden.
EDIT: Ich habe Arrays in meinem Beispiel verwendet, aber das gleiche gilt für ein Wörterbuch in diesen Situationen. EDIT: In Swift Es ist am besten, 'NS' Klassen zu vermeiden, manchmal müssen Sie sie verwenden, sicher. Aber Swifts Wörterbuch macht den Job.
Beispiel:
var sometimesUselessDict: Dictionary<String, AnyObject>?
var alwaysUsedDictionary = Dictionary<String, AnyObject>()
Prost
Es ist besser, ein Swift 'Dictionary' über' NS (Mutable) Dictionary' zu verwenden. Und die Optionalität hängt vollständig davon ab, ob Sie den Unterschied zwischen "keine Antwort" und "leere Antwort" unterscheiden können. – Hamish