Sobes.tech
Junior — Middle

Mit értünk Mutating alatt a programozás kontextusában?

sobes.tech MI

Válasz az MI-től

A programozásban a "mutating" (változtató) kifejezés olyan műveletekre vagy módszerekre utal, amelyek a hívásuk után megváltoztatják egy objektum állapotát. Az iOS és Swift kontextusában a mutating módszerek azok, amelyek képesek módosítani egy struktúra vagy enumeráció tulajdonságait.

Swiftben a struktúrák és az enumerációk alapértelmezés szerint változtathatatlan értéktípusok, ezért ahhoz, hogy egy módszer módosíthassa egy példány tulajdonságait, a mutating kulcsszóval kell ellátni.

Példa:

struct Point {
    var x: Int
    var y: Int

    mutating func moveBy(dx: Int, dy: Int) {
        x += dx
        y += dy
    }
}

var p = Point(x: 0, y: 0)
p.moveBy(dx: 5, dy: 3)  // most p.x == 5, p.y == 3

Így a mutating módszerek lehetővé teszik a value típus tulajdonságainak módosítását, ami nélküle nem lenne lehetséges.