Sobes.tech
Junior — Middle

¿Qué se entiende por el término Mutating en el contexto de la programación?

sobes.tech AI

Respuesta de la IA

En programación, el término "mutating" (que cambia) se refiere a operaciones o métodos que modifican el estado de un objeto después de su llamada. En el contexto de iOS y Swift, los métodos mutating son aquellos que pueden cambiar las propiedades de una estructura o enumeración.

En Swift, las estructuras y enumeraciones son tipos de valor inmutables por defecto, por lo que para que un método pueda modificar las propiedades de una instancia, debe estar marcado con la palabra clave mutating.

Ejemplo:

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

De esta forma, los métodos mutating permiten modificar las propiedades del tipo de valor, lo cual sin esta palabra clave sería imposible.