'mutante' em Swift

Como todos sabemos, as classes são do tipo de referência, enquanto as estruturas e as enumerações são de um tipo de valor em swift. O que isso significa é que um objeto de classe compartilha uma única instância do objeto e passa a mesma referência se passado para qualquer função ou novo objeto, enquanto o tipo de valor é aquele que cria uma cópia dele e passa apenas o 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

O compilador também nos ajuda com a possível solução

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

      

  • enum
  • estrutura
  • Int
  • em dobro
  • Corda
  • Array
  • Dicionário
  • Conjunto
  • Tupla
  • Funções
  • Fechamentos
  • Classe

Suggested posts

“Aquela pequena ilha muda tudo”

Como projetamos as Lyft Live Activities para elevar a experiência do passageiro

“Aquela pequena ilha muda tudo”

Uma virada de jogo para o compartilhamento de viagens De todas as coisas que fazemos na Lyft, coreografar pickups entre passageiros e motoristas é uma das mais complexas e consequentes. Pregar essa coreografia depende de Lyft fazer muitas coisas bem, mas simplesmente manter os pilotos atualizados é essencial.

Ciclo de vida do aplicativo

Ciclo de vida do aplicativo

: Ciclo do lançamento do aplicativo ao desligamento: Usabilidade gerenciando memória ou dados ⬆️ A segurança pode ser processada UIApplication, situação AppDelegate:Define as funções que o objeto AppDelegate recebe msg enviada do objeto UIApplication e executa cada uma Não em execução: O estado em que o aplicativo não está em execuçãoInativo: O estado em que o aplicativo está em execução, mas nenhum evento é recebidoAtivo: O estado em que o aplicativo está em execução e ocorre um eventoBackground: O estado em que o aplicativo está em segundo plano, mas o código está sendo executadoSuspened: O estado em que o aplicativo está no plano de fundo e sem execução de código para delegar funções no arquivo AppDelegate.swift SceneDelegate Para responder bem à função de cena múltipla suportada a partir do iOS 13 AppDelegate / SceneDelegate AppDelegate 1.

Related posts

O que torna um podcast influente?

O que torna um podcast influente?

Na semana passada, notei um comunicado de imprensa, enviado via PressGazette (um site de notícias da mídia britânica). O artigo anunciava que a Acast, a empresa de publicidade e hospedagem de podcast Scandi, lideraria um consórcio de "provavelmente os editores mais influentes" em podcasting.

Por que alguns freelancers estão fingindo suas vidas

Por que alguns freelancers estão fingindo suas vidas

Estive recentemente no Linkedin, a maior rede social profissional do mundo, e encontrei postagens de designers freelancers que sigo que me chamaram a atenção. Todos postaram fotos de aviões, na praia com seus laptops, de piscinas e escritórios com vistas incríveis.

Aprender na semana de trabalho é mais importante do que você pensa

Aprender na semana de trabalho é mais importante do que você pensa

Muitas vezes nos encontramos lutando para implementar o que sabemos que é bom para nós. Desde dizer a um outro significativo que o amamos até lembrar de falar como um pirata, sempre haverá quem afirme que um dia, semana ou mês de eventos não é necessário porque eles já estão fazendo essas coisas.

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.