SwiftUI Academy · Lezione

Ripetere con ForEach

Visualizzare righe a partire da un array di dati.

Lezione 2 di 413 passaggi

Ripetere con ForEach è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SwiftUI Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SwiftUI Academy include 4 lezioni in totale.

Perché utilizzare ForEach

Scrivere le righe manualmente funziona per due elementi, ma i dati reali vivono negli array. ForEach crea automaticamente una riga per ogni elemento. 🔁

let fruits = ["Apple", "Pear", "Kiwi"]

ForEach all'interno di List

Inserisca un ForEach in una List: verrà generata una riga per ogni elemento della raccolta, indipendentemente dal numero di elementi.

List {
    ForEach(fruits, id: \.self) { fruit in
        Text(fruit)
    }
}

La closure riceve ogni elemento

La closure viene eseguita una volta per ogni elemento e riceve quell'elemento, così può costruire la relativa riga a partire dai dati reali.

ForEach(fruits, id: \.self) { fruit in
    Text(fruit)
}

L'identità è importante

SwiftUI deve distinguere le righe, quindi ForEach richiede sempre un modo per identificare ogni elemento in modo univoco.

Il parametro id

Per semplici array di valori, passi id impostato su un key path come .self, così ogni valore può identificarsi in modo univoco per SwiftUI.

ForEach(scores, id: \.self) { score in
    Text("\(score)")
}

Iterare su un intervallo

Le serve un numero fisso di elementi invece di un array? Passi un range: ForEach le fornirà ogni indice in sequenza, perfetto per le righe segnaposto.

ForEach(0..<5) { index in
    Text("Row \(index)")
}

Costruire righe complete

All'interno della closure può restituire qualsiasi view, quindi ogni riga di ForEach può essere un HStack completo con icone ed etichette.

ForEach(fruits, id: \.self) { fruit in
    HStack {
        Image(systemName: "leaf")
        Text(fruit)
    }
}

Combinare elementi statici e dinamici

Una List può contenere insieme un Text di intestazione statico e un ciclo ForEach, combinando righe fisse e righe generate dai dati.

List {
    Text("Fruits")
    ForEach(fruits, id: \.self) { Text($0) }
}

Iterare sulle struct

Quando itera su un array di struct, ogni elemento contiene più campi che può visualizzare lungo la riga.

ForEach(people, id: \.name) { person in
    Text(person.name)
}

I dati guidano l'interfaccia

Modifichi l'array e le righe si aggiorneranno di conseguenza. Con ForEach, la lista è semplicemente lo specchio in tempo reale dei dati che le fornisce.

Oltre le List

ForEach non serve solo per le liste. Può anche riempire VStack, HStack e griglie con view ripetute provenienti da qualsiasi raccolta.

VStack {
    ForEach(fruits, id: \.self) { Text($0) }
}

Verifica rapida

Ricordi che cosa riceve la closure di ForEach.

Riepilogo

Ha imparato a usare ForEach: trasforma qualsiasi raccolta in righe e le fornisce ogni elemento, così l'interfaccia segue automaticamente i dati. 🎉

Gratis per iniziare

Impara Swift con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Ripetere con ForEach» è gratuita?

Sì — il testo completo di «Ripetere con ForEach» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SwiftUI Academy, passa a CoddyKit PRO. Il corso SwiftUI Academy include 4 lezioni in totale.

Cosa imparerò in «Ripetere con ForEach»?

Visualizzare righe a partire da un array di dati. Eserciti SwiftUI Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare SwiftUI Academy?

Non è richiesta alcuna esperienza precedente. SwiftUI Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Ripetere con ForEach»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione SwiftUI Academy?

Sì. Ogni lezione SwiftUI Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Creare un elenco statico
  2. Ripetere con ForEach
  3. Identifiable e ID stabili
  4. Sezioni e stili degli elenchi
← Torna a SwiftUI Academy