Swift Academy · Lektion

Memberwise init och mutating-metoder

Förstå Swift-structs: automatiskt genererade memberwise-initializers och behovet av mutating -metoder när properties ändras.

Lektion 1 av 38 steg

Memberwise init och mutating-metoder är en gratis lektion i Swift Academy på CoddyKit. Detta är lektion 1 av 3. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Swift Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Swift Academy innehåller totalt 3 lektioner.

Introduktion

Structar i Swift får en kostnadsfri medlemsvis initierare och kräver mutating för metoder som ändrar tillstånd.

Medlemsvis initiering

Swift tillhandahåller automatiskt en init(x:y:) för structar med lagrade egenskaper.

struct Point {
    var x: Int
    var y: Int
}
let p = Point(x: 3, y: 5)
print(p.x, p.y)

Icke-muterande metod

Metoder utan mutating kan inte ändra egenskaper—de är skrivskyddade som standard.

struct Counter {
    var count = 0
    func show() { print(count) }
}
let c = Counter()
c.show()

Muterande inkrementering

Genom att lägga till mutating kan en struct-metod ändra sina egenskaper.

struct Counter {
    var count = 0
    mutating func increment() {
        count += 1
    }
}
var c = Counter()
c.increment()
print(c.count)

Tilldela self på nytt

En mutating-metod kan till och med tilldela hela self på nytt.

struct Switch {
    var on: Bool = false
    mutating func toggle() {
        self = Switch(on: !on)
    }
}
var s = Switch()
s.toggle()
print(s.on)

Tips

Tips:

  • Använd mutating endast när Ni måste ändra egenskaper.
  • Håll de flesta metoder icke-muterande för tydlighetens skull.
  • Kom ihåg att klasser inte behöver detta nyckelord.

Nyckelordet mutating

Snabb kontroll: Varför behöver en struct-metod mutating för att ändra egenskaper?

Sammanfattning

Sammanfattning: Structar får en kostnadsfri medlemsvis initierare. Använd mutating när en metod ändrar tillstånd eller tilldelar self på nytt.

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
122
Lektioner
409

Vanliga frågor

Är lektionen ”Memberwise init och mutating-metoder” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Swift Academy, inklusive ”Memberwise init och mutating-metoder”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Swift Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Memberwise init och mutating-metoder”?

Förstå Swift-structs: automatiskt genererade memberwise-initializers och behovet av mutating -metoder när properties ändras. Ni övar på Swift 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 Swift Academy?

Du behöver inga förkunskaper. Utbildningen i Swift 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 3.

Hur lång tid tar lektionen ”Memberwise init och mutating-metoder”?

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 Swift Academy-lektionen?

Ja. Varje Swift 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. Memberwise init och mutating-metoder
  2. Arv, overriding och final
  3. Åtkomstkontroll (public/internal/fileprivate/private)
← Tillbaka till Swift Academy