Sobes.tech
Junior — Middle

Čo sa rozumie pod pojmom Mutating v kontexte programovania?

sobes.tech AI

Odpoveď od AI

V programovaní sa termín "mutating" (meniteľný) vzťahuje na operácie alebo metódy, ktoré menia stav objektu po ich volaní. V kontexte iOS a Swift sú mutating metódy tie, ktoré môžu meniť vlastnosti štruktúry alebo enumerácie.

V Swifte sú štruktúry a enumerácie predvolene nemenné (value types), takže aby metóda mohla zmeniť vlastnosti inštancie, musí byť označená kľúčovým slovom mutating.

Prí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)  // teraz p.x == 5, p.y == 3

Týmto spôsobom mutating metódy umožňujú meniť vlastnosti value typu, čo bez tohto kľúčového slova by nebolo možné.