Junior — Middle
Co znamená pojem Mutating v kontextu programování?
sobes.tech AI
Odpověď od AI
V programování se termín "mutating" (měnící) vztahuje na operace nebo metody, které mění stav objektu po jejich volání. V kontextu iOS a Swift jsou mutating metody ty, které mohou měnit vlastnosti struktury nebo enumerace.
Ve Swiftu jsou struktury a enumerace ve výchozím nastavení neměnitelné (value types), takže aby metoda mohla změnit vlastnosti instance, musí být označena klíčovým slovem mutating.
Příklad:
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) // nyní p.x == 5, p.y == 3
Tímto způsobem mutating metody umožňují měnit vlastnosti value typu, což bez tohoto klíčového slova by nebylo možné.