'muter' dans Swift

Comme nous le savons tous, les classes sont de type référence tandis que les structures et les énumérations sont d'un type valeur en swift. Cela signifie qu'un objet de classe partage une seule instance de l'objet et transmet la même référence s'il est passé à une fonction ou un nouvel objet, tandis que le type de valeur est celui qui en crée une copie et ne transmet que la valeur.

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

Le compilateur nous aide également avec la solution possible

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

      

  • énumération
  • struct
  • Int
  • Double
  • Chaîne
  • Tableau
  • dictionnaire
  • Ensemble
  • Tuple
  • Les fonctions
  • Fermetures
  • Classe

Suggested posts

"Cette petite île change tout"

Comment nous avons conçu les activités en direct Lyft pour améliorer l'expérience des passagers

"Cette petite île change tout"

Un changeur de jeu pour le covoiturage De toutes les choses que nous faisons chez Lyft, la chorégraphie des ramassages entre les passagers et les chauffeurs est l'une des plus complexes et des plus conséquentes. Pour réussir cette chorégraphie, Lyft doit bien faire beaucoup de choses, mais il est essentiel de simplement tenir les coureurs au courant.

Cycle de vie de l'application

Cycle de vie de l'application

: Cycle du lancement de l'application à l'arrêt : Facilité d'utilisation en gérant la mémoire ou les données ⬆️ La sécurité peut être traitée UIApplication, AppDelegate situation : Définit les fonctions que l'objet AppDelegate reçoit des messages envoyés par l'objet UIApplication et exécute chaque Not Running : L'état dans lequel l'application n'est pas en cours d'exécutionInactive : L'état dans lequel l'application s'exécute mais aucun événement n'est reçuActive : l'état dans lequel l'application s'exécute et un événement se produitBackground : l'état dans lequel l'application est en arrière-plan mais le code en cours d'exécutionSuspened : l'état dans lequel l'application est dans le arrière-plan et en cours d'exécution aucun code à déléguer fonctions dans le fichier AppDelegate.swift SceneDelegate Afin de bien répondre à la fonction scène multiple prise en charge à partir d'iOS 13 AppDelegate / SceneDelegate AppDelegate 1.

Related posts

Le premier livre d'un enfant sur la défonce

Le premier livre d'un enfant sur la défonce

(Attention - Ceci est une satire, destinée à être joyeusement subversive - Certainement pas pour les enfants) Vous avez vu votre mère et votre père se cacher dans la cuisine et fumer ces cigarettes malodorantes. Ils vous disent.

Ce que vous pouvez faire pendant votre saison d'attente (attendre de décrocher votre premier emploi dans la technologie)

Ce que vous pouvez faire pendant votre saison d'attente (attendre de décrocher votre premier emploi dans la technologie)

Passer à une nouvelle carrière peut être extrêmement difficile si vous essayez de le faire seul. Il est important de trouver des partenaires de responsabilité qui sont au même niveau d'apprentissage que vous, qui partagent des objectifs, une ténacité et un dynamisme similaires.

Learning at Work Week compte plus que vous ne le pensez

Learning at Work Week compte plus que vous ne le pensez

Nous avons souvent du mal à mettre en œuvre ce que nous savons être bon pour nous. Qu'il s'agisse de dire à un proche que nous l'aimons ou de se rappeler de parler comme un pirate, il y aura toujours ceux qui prétendent qu'un jour, une semaine ou un mois d'événements ne sont pas nécessaires parce qu'ils font déjà ces choses.

Deux ans en design - Le bon, le mauvais et le laid…

Deux ans en design - Le bon, le mauvais et le laid…

"Hey Siri, joue Me Dive d'Olivia Dean." C'était en mai 2021 lorsque j'ai commencé mon stage à la Future Academy Africa à Akure, au Nigeria.