Sobes.tech
Junior — Middle

Šta podrazumeva termin Mutating u kontekstu programiranja?

sobes.tech АИ

Одговор од АИ

У програмирању, термин "mutating" (променљив) се односи на операције или методе које мењају стање објекта након њиховог позива. У контексту iOS и Swift, mutating методе су оне које могу променити својства структуре или енумерације.

У Swift-у, структуре и енумерације су по подразумевано неизменљиви типови вредности, па стога, да би метод могао променити својства инстанце, мора бити означен кључном речи mutating.

Пример:

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)  // сада p.x == 5, p.y == 3

Овим путем, mutating методи омогућавају промену својстава вредносног типа, што без овог кључне речи не би било могуће.