Enumerações com Swift
No mundo da Swift, você pode querer repensar a forma como você usa enumerações. Considerando que, em C, estruturas e enumerações são frequentemente utilizados como tipos simples (isto é, mais ou menos como uma forma de poupar as teclas digitadas ou organizando o código), estruturas, enumerações e aulas de Swift são objeto # 8208 orientada primeira # 8208 tipos-Class.
Por conseguinte, em seguida, no mundo da Swift, é comum referir-se casos de estruturas e enumerações, bem como instâncias de classes.
Quando uma instância de uma estrutura ou enumeração é passada de um componente de código para outra, ele é passado por valor, enquanto instâncias de classes são passados por referência. Dito de outra forma, os casos de estruturas e enumerações são colocados na pilha, enquanto instâncias de classes são colocados na pilha.
Para os desenvolvedores interessados em o que isso significa para eles e sua aplicação, isso significa que quando você passar uma cópia única de uma estrutura ou enumeração em torno de seu aplicativo, essa instância é realmente movido ao redor, e cada função ou outro segmento de código que toca toca a instância que se move. Quando um segmento de código faz uma alteração aos dados de instância, ela não afeta outras instâncias.
Quando você passar uma instância de uma classe, essa instância é compartilhada entre as seções de código para o qual ele é passado (que é porque normalmente nos bastidores só passar um ponteiro para a instância). Se você fizer uma alteração em uma propriedade de uma instância da classe, no entanto, toda a gente que está usando essa instância vê essa mudança.