Sobes.tech
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é.