2017-02-14 5 views
0

Neben Tuple ist kürzer und einfacher zu schreiben, was die anderen Vorteile der Verwendung eines Tupel über ein Wörterbuch als Funktion der Rückgabedaten sind.Was ist der Vorteil von Tuple over Dictionary als Rückgabetyp?

let httpResponse0 = (404, "not found") 

let httpResponse1 = ["code": 404, "status": "not found"] 
+0

Ein Tupel ist eine Gruppe von null oder mehr Werten, die als ein Wert dargestellt werden. Tupel kann Werte unterschiedlichen Typs haben (anders als Wörterbücher). Tuple kann einen Wert ohne Schlüssel haben (anders als ein Wörterbuch) – sasquatch

+0

@NiravD wird 'Any' nicht zu seinem Typ? – sasquatch

+0

@sasquatch Ja Jeder ist sein Typ, aber mit dem Sie einen beliebigen Wert speichern können. –

Antwort

3

einig Sammeln und das Hinzufügen von ein paar mehr:

  1. Ein Tupel ist typsicher Weise mehrere Werte mit mehreren Arten von haltigen
  2. Im Vergleich zu einem Wörterbuch, es ist viel geringeres Gewicht, zumal Die Schlüssel sind vollständig Kompilierzeit.
  3. Schlüssel sind optional
  4. Schlüssel, falls verwendet, werden vom Compiler verwaltet und es ist unwahrscheinlich, dass sie falsch geschrieben werden.

Nachteile:

  1. Es ist einfach faul zu bekommen und nicht nennen Elemente, die zu Verwirrung und unlesbaren Code führen kann.
  2. Es ist nicht Obj-c kompatibel

Persönlich würde ich es vorziehen, ein geringes Gewicht Objekt oder Struktur statt zu verwenden, entweder in den meisten Fällen. Es ist expliziter und trotzdem leicht.

Verwandte Themen