SwiftUI Academy · Lektion

Från vystate till en modellklass

Bryt ut delade data till en klass.

Lektion 1 av 413 steg

Från vystate till en modellklass är en gratis lektion i SwiftUI Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för SwiftUI Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i SwiftUI Academy innehåller totalt 4 lektioner.

När @State inte längre räcker

När en skärm har många värden med @State börjar vyn hantera data och användargränssnitt samtidigt. Den blandningen blir snabbt rörig när skärmen växer. 🤔

Vad en modell innehåller

En modell är ett vanligt objekt som innehåller dina data och reglerna kring dem, separerat från hur saker ser ut på skärmen.

En enkel modellklass

Börja med att flytta relaterade värden till en class så att de finns tillsammans på en enda, välordnad plats.

class Counter {
    var count = 0
}

Metoder innehåller logiken

Placera beteendet nära datan med metoder, så att vyn bara ber modellen att utföra en åtgärd i stället för att göra jobbet själv.

class Counter {
    var count = 0
    func increment() { count += 1 }
}

Varför en klass och inte en struct

En class är en referenstyp, så varje vy som delar samma instans ser exakt samma data, inte sin egen privata kopia.

Vyer förblir tunna

När logiken finns i modellen blir view body mest en layout. En tunn vy är mycket enklare att läsa och ändra senare.

En enda källa till sanning

Om du håller datan i modellen får du en enda källa till sanning, så att skärmar aldrig är oense om det aktuella värdet.

Återanvänd modellen

Eftersom modellen är oberoende av alla vyer kan du återanvända den på flera skärmar eller till och med i tester.

Lagra den i en vy

En vy kan skapa och lagra en modellinstans som en egenskap, redo att läsa dess värden och anropa dess metoder.

struct CounterView: View {
    let model = Counter()
    var body: some View { Text("Count") }
}

Biten som saknas

Hittills kan vyn läsa modellen, men den kommer ännu inte att uppdateras när datan ändras. Det löser vi härnäst med observation.

Ansvarsseparering

Den här uppdelningen kallas separation of concerns: vyn visar och modellen beslutar. Varje del har en tydlig uppgift.

Snabb kontroll

Du har flyttat datan till en klass. En snabb fråga om varför.

Sammanfattning

Du har lärt dig att flytta data och logik från en vy till en modellklass, hålla vyerna tunna och ge appen en enda källa till sanning. ✨

Gratis att börja

Lär dig Swift med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Från vystate till en modellklass” gratis?

Ja – hela texten till ”Från vystate till en modellklass” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i SwiftUI Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i SwiftUI Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Från vystate till en modellklass”?

Bryt ut delade data till en klass. Ni övar på SwiftUI Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig SwiftUI Academy?

Du behöver inga förkunskaper. Utbildningen i SwiftUI Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Från vystate till en modellklass”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här SwiftUI Academy-lektionen?

Ja. Varje SwiftUI Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Från vystate till en modellklass
  2. Makrot @Observable
  3. @State för ägda objekt
  4. Dela modeller via @Environment
← Tillbaka till SwiftUI Academy