ios - bridging - swift documentation
¿Cuál es la diferencia entre Int e Int32 en Swift? (3)
En Core Data
puede almacenar Int16
, Int32
, Int64
pero es diferente de Int
. ¿Cuál es el motivo de su existencia? ¿Cómo los usas?
De acuerdo con la documentación de Swift
En t
En la mayoría de los casos, no es necesario que elija un tamaño específico de entero para usar en su código. Swift proporciona un tipo entero adicional, Int, que tiene el mismo tamaño que el tamaño de palabra nativo de la plataforma actual:
En una plataforma de 32 bits, Int es del mismo tamaño que Int32.
En una plataforma de 64 bits, Int es del mismo tamaño que Int64.
A menos que necesite trabajar con un tamaño específico de entero, siempre use Int para valores enteros en su código. Esto ayuda a la coherencia del código y la interoperabilidad. Incluso en plataformas de 32 bits, Int puede almacenar cualquier valor entre -2,147,483,648 y 2,147,483,647, y es lo suficientemente grande para muchos rangos enteros.
El número colocado después del "Int" es una referencia a la cantidad de bits que utiliza. Cuando utiliza un int para algo realmente corto o casi innecesario, como un recuento continuo de cuántos objetos en una lista siguen un parámetro específico, normalmente uso un UInt8, que es un entero que tiene un valor máximo de 256 (2 ^ 8), y un valor mínimo de 0, porque no está firmado (esta es la diferencia entre UInt8 e Int8). Si está firmado, (o no tiene una "U" prefijando la variable) puede ser negativo. Lo mismo es cierto para Int16, Int32 e Int64. La bonificación por usar un tipo Int de tamaño más pequeño no es muy grande, por lo que realmente no necesita usarlos si no lo desea.
No hay ahorro de rendimiento si está ejecutando en una computadora portátil o dispositivo iOS con un procesador de 32 bits o 64 bits. Sólo tiene que utilizar int. La CPU no solo usa 8 bits cuando usa Int8, la CPU usará todo su ancho de bit independientemente de lo que use, porque el hardware ya está en el chip ...
Ahora bien, si tiene una CPU de 8 bits, entonces el uso de Int32 requeriría que el compilador haga un montón de saltos inversos y trucos de magia para lograr que el Int de 32 bits funcione