Junior — Middle
O que se entende por Mutating no contexto da programação?
sobes.tech IA
Resposta da IA
Na programação, o termo "mutating" (que altera) refere-se a operações ou métodos que modificam o estado de um objeto após a sua chamada. No contexto do iOS e Swift, métodos mutating são aqueles que podem alterar as propriedades de uma estrutura ou enumeração.
Em Swift, estruturas e enumerações são, por padrão, tipos de valor imutáveis, portanto, para que um método possa alterar as propriedades de uma instância, ele deve ser marcado com a palavra-chave mutating.
Exemplo:
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) // agora p.x == 5, p.y == 3
Dessa forma, métodos mutating permitem alterar as propriedades do tipo de valor, o que sem essa palavra-chave seria impossível.