¿Swift tiene clases prefabricadas?

Cuando realiza una asignación como parte de la declaración de una variable (o constante), Swift utiliza el tipo de valor desde el que asigna (el valor r , la cosa en el lado derecho de los iguales). Para cosas como cadenas de dígitos que podrían ser enteros o valores de coma flotante, Swift asume “Int” a menos que haga algo que cambie de opinión. Si tiene dígitos con un punto decimal, Swift sabe que es un Doble de algún tipo. En realidad, utiliza internamente tipos “BlahLiteral”, y cualquier tipo que tenga un método init que tome ese tipo de objeto como argumento puede participar aquí … pero es posible que no desee profundizar demasiado en eso en este momento.

En el ejemplo que le dio salud y poder, ambos son Int, Int está “principalmente” integrado en el lenguaje, al igual que Double, y Float, Bool e Int32 e Int64. También los enteros sin signo. La parte que no está completamente integrada está en la Biblioteca estándar de Swift (escrita en Swift). Si está utilizando Xcode, puede ver los “encabezados” de esos tipos haciendo clic en ellos. Puede ver el código real yendo a Swift.org y descargando el código fuente a Swift y mirando (también puede ver las partes integradas, mirando el compilador de Swift, pero nada de eso es muy emocionante, puedo decirle ese agregado en dos enteros se implementa editando la instrucción ADD de la CPU y verificando si el bit de acarreo se configuró (o a veces ignorando esa verificación si el compilador descubre que no ocurrirá un desbordamiento).

Otras cosas como CGSize están en varios marcos, de nuevo puede hacer clic en la opción (en Xcode) para ver los encabezados. La fuente real de muchos de los otros marcos no está disponible (pero a veces sí lo está, Foundation and Grand Central Dispatch, por ejemplo, es Open Sourced para alguna definición útil de Open Source).

Estos son simplemente atributos que el desarrollador del código ha decidido que necesita en su clase. Puede ser que Swift realmente incluya algunos atributos especiales en sus clases (Python presenta una serie de especiales, incluidos __name__, __doc__ y muchos otros); pero no puedo imaginar que Swift tenga atributos como la salud, etc.

También recuerde que, para una computadora, la palabra ‘salud’, ‘ancho’ son solo una variedad aleatoria de letras; podrían llamarse ‘asfyyu’ y ‘bqwertt’ en lo que respecta a la computadora, no le importa; se llamarán nombres significativos para que los desarrolladores de software (humanos) puedan recordar lo que significan: si miraran el código con el nombre ‘asfyyu’, ¿sabrían lo que significa?

Swift ha incorporado tipos como Int, Double, String, etc. Lo que puede confundirte es la inferencia de tipos. Otra forma de escribir ese código es:

importar UIKit

jugador de clase {

salud var: Int = 100
potencia var: Int = 200

Entonces verá que esas son solo variables miembro que son enteros, que están construidas en tipos.

More Interesting

¿Cuáles son algunas herramientas útiles para rastrear informes de fallas para una aplicación de iPhone?

¿Cuáles son las 10 principales empresas de desarrollo de aplicaciones para iPhone en India?

¿Cuál es la mejor manera de construir una aplicación iOS escalable?

¿Es demasiado pronto para crear una aplicación en Swift?

iOS 8 beta 2 está fuera. ¿Qué ha cambiado desde la beta 1?

¿Adobe Air es una buena opción para el desarrollo de juegos entre dispositivos / plataformas iOS, Android y Facebook? ¿Cuáles son los mayores desafíos para Android e iOS en el aire? ¿Hay problemas con los juegos móviles que se conectan a los servidores?

¿Cuál es la mejor manera de administrar el inicio de sesión de la cuenta en las aplicaciones de iPhone? ¿Cuál es la mejor manera de enviar los datos de la cuenta de forma segura?

Cómo portar mi aplicación de Android a iOS

¿Cuál es la mejor manera de aprender aplicaciones móviles iOS?

¿Cuál es su opinión sobre Objective-C (lenguaje de programación)?

Cómo hacer que un control segmentado muestre diferentes tablas en Swift

¿Cuáles son los pasos para construir una aplicación de sistema de recomendación en un Android usando el aprendizaje automático?

¿Es realista iniciar mi aplicación iOS en Parse y luego, una vez que esté disponible para los usuarios, empiezo a desarrollar un back-end si es necesario si hay crecimiento?

Soy un poco nuevo en la programación web, pero he estudiado C y C ++ en mi universidad. Entonces, ¿cómo puedo comenzar con el desarrollo de aplicaciones en Android, iOS y Windows?

Cómo superar el miedo al fracaso para el desarrollo de iOS