Sobes.tech
Junior — Middle

Jaký je účel klíčového slova 'mutating' v kontextu programování ve Swift?

sobes.tech AI

Odpověď od AI

Ve Swiftu se klíčové slovo mutating používá v metodách struktur a enumerací k označení, že tato metoda mění (mutuje) vlastnosti instance.

Ve výchozím nastavení nemohou metody ve strukturách a enumeracích měnit jejich vlastnosti, protože jsou to hodnotové typy a jsou předávány hodnotou. Aby bylo možné měnit vlastnosti uvnitř metody, je třeba ji označit jako mutating.

Příklad:

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

var counter = Counter()
counter.increment()  // count je nyní 1

Bez mutating compiler vypíše chybu, pokud se metoda pokusí změnit vlastnosti struktury nebo enumerace.