1. Funciones del lenguaje Swift
? 1. Swift es un lenguaje fuertemente tipado. Todas las variables se escriben cuando se declaran o definen, y este tipo no se puede modificar.
? 2. Swift es seguro y la escritura fuerte es una de las manifestaciones de seguridad.
? 3. Todas las variables rápidas (excepto las variables opcionales) deben inicializarse antes de acceder a ellas y utilizarlas.
(1), las variables no seleccionables deben inicializarse. En estructuras y clases, las propiedades no inicializadas y no seleccionables deben inicializarse primero en el constructor.
(2), opcional
¿Declaración explícita? :
Por ejemplo, ¿Cadena? Sin inicialización, el valor predeterminado es nulo, que debe descomprimirse para devolver el tipo de datos exacto para su uso.
¡Declaración implícita! :
¡Me gusta Chuanchuan! No se requiere inicialización, el valor predeterminado es nulo, se puede descomprimir o usar directamente, ¡lo cual es mejor que var t:String! = "TEST", ¿qué pasa si hay una variable A de tipo String y una variable B de tipo String? tipo, entonces si a = t, entonces no es necesario descomprimir la T opcional y se devuelve directamente un tipo de cadena exacto, mientras que b = t, se devuelve un tipo opcional, que se procesa automáticamente de acuerdo con las necesidades reales.
Declaración opcional:
Requiere inicialización. Este método no inicializa automáticamente valores nulos; el propósito de este método es mostrar la declaración.
? 4. Tipos de datos Swift, tipos fraccionarios y tipos de referencia:
Tipos de valores: la memoria generalmente se asigna en la pila. Todas las asignaciones son copias profundas, lo que abrirá un nuevo espacio de memoria para nuevas variables. La modificación de la nueva variable no afecta a la variable original. Estructuras, enumeraciones, etc. Todos son tipos de valores, como Int, Double, Float, tupla, String, Array, Dictionary, Set, etc. , son esencialmente estructuras, por lo que también son tipos de valores.
Tipo de referencia: hace referencia a un puntero. Normalmente, la memoria se asigna en el montón. Al asignar un valor, solo se copia la dirección de memoria del valor y no se abre ningún espacio de memoria nuevo para almacenar el valor de la nueva variable. La modificación de nuevas variables afectará a las variables originales, como clases, cierres y funciones, que son todos tipos de referencia.
? 5. _ tiene un significado especial en Swift. Generalmente se usa para marcadores de posición e ignorar, como ignorar nombres de parámetros de funciones, como 10_000 (igual que 10000, pero con la adición de _, lo que lo hace más legible).
? 6. En el lenguaje Swift, los métodos se pueden anular en la herencia de clases y los métodos también se pueden sobrecargar en las clases.
? 7. En pocas palabras, la esencia de la selección es la enumeración.
? 8. Swift es un lenguaje orientado a protocolos:
(1), el lenguaje Swift está orientado a objetos, pero en la biblioteca estándar de Swift, solo hay unas pocas clases básicas, pero hay docenas de tipos de protocolos. Esto ilustra plenamente la importancia de los protocolos en el lenguaje rápido.
(2) A diferencia de los protocolos en OC, los protocolos en Swift se pueden heredar y ampliar. El protocolo no solo puede tener métodos sino también atributos, lo cual no está disponible en el protocolo OC. En Swift, la existencia de protocolos puede abstraer mejor las características * * * de dos cosas diferentes, lo cual es algo que algunas clases no pueden hacer, como los aviones y los pájaros. Obviamente son tipos diferentes y no tienen relación de herencia.