Кортежи

Далеко не все знают, что Swift с самого выхода поддерживает особый вид списочных типов — кортежи. Их отличительной чертой является способность хранить вместе элементы различных типов (ни массивы, ни словари этого не могут).

Обобщая, кортеж представляет собой упорядоченный, фиксированный по длине набор элементов, обращение к которым возможно по порядковым индексам или именам, если они заданы.

import Foundation

typealias Tuple = (id: Int, name: String)

func tupleFromId(id: Int, name: String) -> Tuple {
    return (id, name)
}

let tuple = tupleFromId(1, name: "Swift")

print("Tuple id: \(tuple.id), name: \(tuple.name)")
print("Tuple id: \(tuple.0), name: \(tuple.1)")