Tupla in Swift

Questo articolo spiega cos'è una tupla e quando e dove viene utilizzata. Buona lettura!!!

credito immagine: Stocksnap.io

La tupla è un gruppo di valori diversi rappresentati come uno. Secondo Apple, un tipo di tupla è un elenco separato da virgole di zero o più tipi, racchiuso tra parentesi . È una versione in miniatura di una struttura.

Consideriamo un esempio: un nome che dice John Smith può essere dichiarato come una tupla come ("John", "Smith"). Contiene il nome e il cognome di una persona. È possibile accedere ai valori interni utilizzando la .notazione punto ( ) seguita dall'indice del valore:

var person = ("John", "Smith")

var firstName = person.0 // John
var lastName = person.1 // Smith

()è la tupla vuota - non ha elementi. Rappresenta anche il Voidtipo.

Le tuple non sono conformi al protocollo hashable. Quindi non può essere utilizzato come chiavi del dizionario.

Creazione di una tupla:

Puoi dichiarare una tupla come qualsiasi altra variabile o costante. Per inizializzarlo avrai bisogno di un'altra tupla o di una tupla letterale. Una tupla letterale è un elenco di valori separati da virgole tra una coppia di parentesi. È possibile utilizzare la notazione del punto per modificare i valori da una tupla se è dichiarata come variabile.

var point = (0, 0)

point.0 = 10
point.1 = 15

point // (10, 15)

var origin = (x: 0, y: 0)

var point = origin
point.x = 3
point.y = 5

print(origin) // (0, 0)
print(point) // (3, 5)

È possibile assegnare un nome agli elementi da una tupla e utilizzare quei nomi per fare riferimento a essi. Il nome di un elemento è un identificatore seguito da due punti (:).

var person = (firstName: "John", lastName: "Smith")
var firstName = person.firstName // John
var lastName = person.lastName // Smith

Puoi usare le tuple per inizializzare più di una variabile su una singola riga:

var (a, b, c) = (1, 2, 3)

È possibile restituire più valori da una funzione se si imposta il tipo di risultato su una tupla.

Tieni presente che le tuple vengono passate per valore , non per riferimento.

Nel codice sopra, per la leggibilità del codice, ho usato a typealiasper pre-definire la struttura della tupla.

Tuple per l'iterazione di un dizionario che ottiene sia la chiave che il valore:

for (key,value) in myDictionary {
println("My key is \(key) and it has a value of \(value)")
}

Nota : il _mezzo "Non mi interessa quel valore"

for (key,_) in myDictionary {
println("My key is \(key)")
}


let http404Error = (404, "Not Found")
// http404Error is of type (Int, String), and equals (404, "Not Found")

let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
// Prints "The status code is 404"
print("The status message is \(statusMessage)")
// Prints "The status message is Not Found"

let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
// Prints "The status code is 404"

print("The status code is \(http404Error.0)")
// Prints "The status code is 404"
print("The status message is \(http404Error.1)")
// Prints "The status message is Not Found"

let http200Status = (statusCode: 200, description: "OK")

lo mescoleremo creando una tupla che contiene un'altra tupla.

let bar: (Int, (Bool, String)) = (1, (false, "Hello"))
print(bar.0) // print: “1”
print(bar.1.0) // print: “false”
print(bar.1.1) // print: “Hello”

var a = 5 
var b = 4 
(b, a) = (a, b)

Il posto migliore per usare una tupla sarebbe quando si desidera una funzione che possa restituire più tipi. Se sei uno sviluppatore Objective-C, questo concetto sembra impossibile a meno che non usi un array o un dizionario. In precedenza abbiamo dovuto superare questo problema restituendo NSArrayo NSDictionary.

Fonti: articolo medio , W eheartswift .

Questo è tutto. !

Godere!!

Se ti è piaciuto leggere questo post, condividi e applaudi in modo che gli altri possano trovarlo 👏👏👏👏👏 !!!!

Puoi seguirmi su Medium per articoli freschi. Inoltre, connettiti con me su LinkedIn .

Se hai commenti, domande o consigli, sentiti libero di pubblicarli nella sezione commenti qui sotto!

Suggested posts

“Quell'isoletta cambia tutto”

Come abbiamo progettato Lyft Live Activities per migliorare l'esperienza del ciclista

“Quell'isoletta cambia tutto”

Un punto di svolta per il rideshare Di tutte le cose che facciamo in Lyft, la coreografia dei pickup tra motociclisti e conducenti è una delle più complesse e consequenziali. L'inchiodamento di questa coreografia dipende dal fatto che Lyft faccia bene molte cose, ma è essenziale semplicemente mantenere i ciclisti al passo.

Ciclo di vita dell'app

Ciclo di vita dell'app

: Ciclo dall'avvio dell'app allo spegnimento: usabilità gestendo la memoria o i dati ⬆️ La sicurezza può essere elaborata UIApplication, situazione AppDelegate: definisce le funzioni in cui l'oggetto AppDelegate riceve il messaggio inviato dall'oggetto UIApplication ed esegue ciascuna Non in esecuzione: lo stato in cui l'app non è in esecuzione Inattivo: Lo stato in cui l'app è in esecuzione ma non vengono ricevuti eventiActive: lo stato in cui l'app è in esecuzione e si verifica un eventoBackground: lo stato in cui l'app è in background ma il codice viene eseguitoSuspened: lo stato in cui l'app è in background e non esegue codice per essere funzioni delegate nel file AppDelegate.swift SceneDelegate Per rispondere bene alla funzione di scena multipla supportata da iOS 13 in poi AppDelegate / SceneDelegate AppDelegate 1.

Related posts

Niente più password: come le passkey sostituiranno la tua password

Niente più password: come le passkey sostituiranno la tua password

Per evitare ambiguità verranno utilizzati i seguenti termini; Autenticatore; Il telefono cellulare utilizzato per effettuare il login Sito web; Il sito Web o l'applicazione che l'utente sta utilizzando per effettuare la richiesta di accesso al Servizio; Il fornitore che fornisce il servizio dato, ad es

Conversazioni pericolose

Conversazioni pericolose

Se vogliamo continuare a prosperare su questo pianeta, dovremo avere conversazioni pericolose. Quelli che mettono in discussione ciò che abbiamo fatto, ciò che stiamo facendo e ciò che attualmente intendiamo continuare a fare (o stiamo pianificando di fare).

La sfida di lettura di Goodreads è tossica

La sfida di lettura di Goodreads è tossica

Il prurito alla mano si diffuse mentre mercanteggiavo con il libraio locale per un altro libro. Questo libro, come il resto che ho acquistato di recente, troverebbe il suo trono nella mia pila "Da leggere" (TBR); eppure l'ho comprato.

VITA SENZA LIMITI

Quando cresci tendi a sentirti dire che il mondo è così com'è e che la tua vita è vivere la tua vita dentro il mondo, senza mai rischiare la vita, basta seguire un percorso prestabilito e morire alla fine, e cercare di non farlo sfondare troppo i muri. Ma questa è una vita molto limitata.