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.