'mutante' en Swift

Como todos sabemos, las clases son de tipo de referencia, mientras que las estructuras y las enumeraciones son de un tipo de valor en swift. Lo que significa eso es que un objeto de clase comparte una sola instancia del objeto y pasa la misma referencia si se pasa a cualquier función o nuevo objeto, mientras que el tipo de valor es el que crea una copia del mismo y pasa solo el valor.

This post was originally posted at https://agrawalsuneet.github.io/blogs/mutating-in-swift/ and reposted on Medium on 29th Mar 2019.

class Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
func changeTeam(newTeamName : String){
        self.teamName = newTeamName
    }
}
var emp1 = Employee(name : "Suneet", teamName:"Engineering")
print(emp1.teamName)    //Engineering
emp1.changeTeam(newTeamName : "Product")
print(emp1.teamName)    //Product

      

struct Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
func changeTeam(newTeamName : String){
        self.teamName = newTeamName
        //cannot assign to property: 'self' is immutable
}
}

cannot assign to property: 'self' is immutable

El compilador también nos ayuda con la posible solución

note: mark method 'mutating' to make 'self' mutable

struct Employee {
    var name : String
    var teamName : String
init(name: String, teamName: String) {
        self.name = name
        self.teamName = teamName
    }
mutating func changeTeam(newTeamName : String){
        self.teamName = newTeamName
    }
    
}
var emp1 = Employee(name : "Suneet", teamName:"Engineering")
print(emp1.teamName)    //Engineering
emp1.changeTeam(newTeamName : "Product")
print(emp1.teamName)    //Product

      

  • enumeración
  • estructura
  • En t
  • Doble
  • Cuerda
  • Formación
  • Diccionario
  • Conjunto
  • Tupla
  • Funciones
  • Cierres
  • Clase

Suggested posts

“Esa islita lo cambia todo”

Cómo diseñamos Lyft Live Activities para mejorar la experiencia del pasajero

“Esa islita lo cambia todo”

Un cambio de juego para los viajes compartidos De todas las cosas que hacemos en Lyft, coreografiar las recolecciones entre pasajeros y conductores es una de las más complejas y trascendentales. Lograr esta coreografía depende de que Lyft haga muchas cosas bien, pero simplemente mantener a los pasajeros al día es esencial.

Ciclo de vida de la aplicación

Ciclo de vida de la aplicación

: Ciclo desde el inicio de la aplicación hasta el apagado: Usabilidad mediante la administración de memoria o datos ⬆️ La seguridad se puede procesar UIApplication, situación de AppDelegate: define las funciones que el objeto AppDelegate recibe el mensaje enviado desde el objeto UIApplication y ejecuta cada No en ejecución: el estado en el que la aplicación no se está ejecutandoInactivo: El estado en el que se ejecuta la aplicación pero no se reciben eventos. Activo: el estado en el que se ejecuta la aplicación y se produce un evento. Fondo: el estado en el que la aplicación se encuentra en segundo plano, pero el código se ejecuta. Suspendido: el estado en el que se encuentra la aplicación. en segundo plano y sin ejecutar código para delegar funciones en el archivo AppDelegate.swift SceneDelegate Para responder bien a la función de escena múltiple admitida desde iOS 13 en adelante AppDelegate / SceneDelegate AppDelegate 1.

Related posts

Financiamiento de la eliminación de carbono en el año fiscal 24

El desglose de las solicitudes de asignaciones de Carbon180 a través de vías

Financiamiento de la eliminación de carbono en el año fiscal 24

Por Alyson Lee, asesora de gestión de asuntos gubernamentales El proceso de asignaciones anuales del gobierno federal es fundamental para nuestros esfuerzos por financiar la eliminación de dióxido de carbono (CDR). Cada año, Carbon180 envía solicitudes a varias oficinas del Congreso para ayudar a guiar hacia dónde fluirán los dólares del próximo año.

Twitter de televisión en red

Twitter de televisión en red

Lo que es viejo ahora es nuevo otra vez y lo que solía ser algo reluciente ahora se siente aburrido. No me refiero a que los jeans JNCO regresen entre los chicos geniales del centro de la ciudad junto con otras modas de fines de la década de 1990.

La persecución de los cristianos: el crimen de odio del que no hablamos

Olvídate de la islamofobia: los cristianos (y los judíos) son las principales víctimas de los delitos de odio religioso.

La persecución de los cristianos: el crimen de odio del que no hablamos

Cualquier mente racional sabe que los círculos políticos y mediáticos están dominados por la izquierda, incluso por la extrema izquierda, una situación que crea un desequilibrio en el discurso político. En el campo de la religión, este desequilibrio es claramente visible: los periódicos y las redes de izquierda no se apresuran a defender la fe cristiana.

los pronombres dan mucho miedo

Me llama la atención De repente, como ocurre con tanta frecuencia Es el punto medio de nuevo <No, no el del Pacífico, tú, el del carnaval> Todos los titulares en voz alta...