Las enumeraciones con rápida
En el mundo de Swift, es posible que desee volver a pensar cómo utiliza enumeraciones. Mientras que en C, estructuras y enumeraciones se utilizan a menudo como tipos simples (es decir, más o menos como una forma de ahorro de pulsaciones de teclas o la organización del código), estructuras, enumeraciones y clases en Swift son todos objeto # 8208-orientada primera # 8208 tipos -Clase.
En consecuencia, entonces, en el mundo de Swift, es común referirse a instancias de las estructuras y enumeraciones, así como instancias de clases.
Cuando se pasa una instancia de una estructura o la enumeración de un componente de código a otro, se pasa por valor, mientras que las instancias de clases se pasan por referencia. Dicho de otro modo, los casos de estructuras y enumeraciones se colocan en la pila, mientras que las instancias de clases se colocan en el montón.
Para los desarrolladores interesados en lo que esto significa para ellos y su aplicación, esto significa que cuando se pasa una copia única de una estructura o enumeración en torno a su aplicación, esa instancia es en realidad mueve alrededor, y cada función u otro segmento de código que toca toca la instancia que se mueve. Cuando un segmento de código realiza un cambio en los datos de instancia, que no afecta a otras instancias.
Cuando se pasa una instancia de una clase, esa instancia se comparte entre las secciones de código al que se pasa (eso es porque normalmente detrás de las escenas que sólo se pasa un puntero a la instancia). Si realiza un cambio en una propiedad de una instancia de clase, sin embargo, todo el mundo que está utilizando esa instancia considera que el cambio.