swiftui state
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("count: \(count)")
Button("tap") { count += 1 }
}
}
}
struct e proprietà
struct Project {
let name: String
var shots: Int
}
var p = Project(name: "Nova", shots: 12)
p.shots += 1
closures e map
let values = [1, 2, 3]
let doubled = values.map { $0 * 2 }
let filtered = values.filter { $0 > 1 }
controllo di flusso
let level = 2
switch level {
case 1: print("base")
case 2: print("intermedio")
default: print("avanzato")
}
esercizi
crea una view con stato incrementale.
import SwiftUI
struct CounterView: View {
@State private var count = 0
var body: some View { Button("tap \(count)") { count += 1 } }
}
panoramica
In questo capitolo su swiftui essentials lavoriamo su swiftui state, struct e proprietà, closures e map, controllo di flusso per creare micro-pattern riutilizzabili.
lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali.
badge: swift essentials
obiettivi
- capire e applicare swiftui state in uno scenario reale
- capire e applicare struct e proprietà in uno scenario reale
- capire e applicare closures e map in uno scenario reale
- capire e applicare controllo di flusso in uno scenario reale
scheda rapida
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("count: \(count)")
Button("tap") { count += 1 }
}
}
}
adatta questo scheletro agli esempi della lezione.
tips
- preferisci value types quando possibile
- usa guard per early exit
- mantieni le view leggere
- separa networking e ui
- scrivi test su logica critica
- mantieni swiftui state leggibile
tip: documenta ogni scelta architetturale.
mini progetto
crea una view con lista e dettaglio.
- definisci modello
- crea lista
- aggiungi azione
output atteso: ui funzionante.
checklist
- ho eseguito gli snippet e controllato l'output
- ho annotato almeno 2 trade-off
- ho completato il mini progetto
- ho salvato un riepilogo personale