No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Mutating Methods

12/27
Recursos

Aportes 6

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Esta es la segunda clase de esta parte del curso. La primera es esta: https://platzi.com/clases/1791-swift-5-poo/25029-metodos-de-instancia/

Para poder modificar una propiedad desde un método de una estructura el método debe ser marcado como mutating.

struct Point{
	var x: Int;
	var y: Int;
	
	mutating func moveTo(x deltaX: Int, y deltaY: Int){
		self.x = deltaX;
		self.y = deltaY
	}
}

Se me hace un poco extraño que una propiedad de una estructura pueda modificarse desde fuera de la estructura pero no dentro de la misma a no ser que el método sea marcado como mutating.

Que bonito es lo bonito!!!

Me parece genial este lenguaje, es un sabor distinto

`self` en Swift se refiere a la instancia actual de una clase o estructura. En clases, `self` se utiliza para distinguir entre propiedades y parámetros con el mismo nombre. En estructuras, `self` es crucial cuando se trabaja con métodos mutables (`mutating`), ya que permite a esos métodos modificar las propiedades de la instancia. Cuando un método es marcado como `mutating`, significa que puede cambiar el estado de la estructura, lo cual no es posible sin esa palabra clave. Esto se debe a que las estructuras en Swift son tipos de valor, y por lo tanto, sus instancias son inmutables a menos que los métodos sean mutables.

Thank you