Publicado el 18 de Abril del 2021
904 visualizaciones desde el 18 de Abril del 2021
3,3 MB
333 paginas
Creado hace 5a (17/01/2019)
Swift Language
#swift
Tabla de contenido
Acerca de
Capítulo 1: Empezando con Swift Language
Observaciones
Otros recursos
Versiones
Examples
Tu primer programa Swift
Instalación de Swift
Tu primer programa en Swift en una Mac (usando un área de juegos)
Tu primer programa en la aplicación Swift Playgrounds para iPad
Valor opcional y enumeración opcional
Capítulo 2: (Inseguro) punteros de búfer
Introducción
Observaciones
Examples
UnsafeMutablePointer
Práctico caso de uso para punteros de búfer
Capítulo 3: Actuación
Examples
Asignación de rendimiento
Advertencia sobre estructuras con cadenas y propiedades que son clases
Capítulo 4: Algoritmos con Swift
Introducción
Examples
Tipo de inserción
Clasificación
Selección de selección
Análisis asintótico
Ordenación rápida: tiempo de complejidad O (n log n)
Gráfico, trie, pila
1
2
2
2
2
3
3
4
5
9
12
14
14
14
14
15
16
17
17
17
17
19
19
19
19
20
23
23
24
25
Grafico
Trie
Apilar
Capítulo 5: Almacenamiento en caché en el espacio en disco
Introducción
Examples
Ahorro
Leyendo
Capítulo 6: Arrays
Introducción
Sintaxis
Observaciones
Examples
Semántica de valor
Conceptos básicos de matrices
Arreglos vacíos
Literales array
Arreglos con valores repetidos.
Creando arrays desde otras secuencias.
Matrices multidimensionales
Acceso a valores de matriz
Metodos utiles
Modificar valores en una matriz
Ordenar una matriz
Creando una nueva matriz ordenada
Ordenar una matriz existente en su lugar
Ordenar una matriz con un orden personalizado
Transformando los elementos de un Array con mapa (_ :)
Extraer valores de un tipo dado de un Array con flatMap (_ :)
Filtrando una matriz
Filtrado nil de una transformación de Array con flatMap (_ :)
25
33
36
39
39
39
39
39
40
40
40
40
40
40
40
41
41
41
41
42
42
43
43
44
44
44
44
45
46
46
47
Suscribiendo una matriz con un rango
Agrupar valores de matriz
Aplanar el resultado de una transformación de Array con flatMap (_ :)
Combinando los caracteres en una serie de cadenas.
Aplanando una matriz multidimensional
Ordenar una matriz de cuerdas
Lácilmente aplanando una matriz multidimensional con aplanar ()
Combinando los elementos de un Array con reduce (_: combine :)
Eliminar elemento de una matriz sin saber su índice
Swift3
Encontrar el elemento mínimo o máximo de un Array
Encontrar el elemento mínimo o máximo con un pedido personalizado.
Acceder a los índices de forma segura.
Comparando 2 matrices con zip
Capítulo 7: Bloques
Introducción
Examples
Cierre sin escape
Cierre de escape
Capítulo 8: Booleanos
Examples
¿Qué es Bool?
Niega un Bool con el prefijo! operador
Operadores lógicos booleanos
Booleanos y condicionales en línea
Capítulo 9: Bucles
Sintaxis
Examples
Bucle de entrada
Iterando sobre un rango
Iterando sobre una matriz o conjunto
Iterando sobre un diccionario
47
48
48
49
49
50
51
51
52
52
52
53
53
54
55
55
55
55
55
57
57
57
57
57
58
60
60
60
60
60
60
61
Iterando a la inversa
Iterando sobre rangos con zancada personalizada
Bucle de repetición
mientras bucle
Tipo de secuencia para cada bloque
Bucle de entrada con filtrado.
Rompiendo un bucle
Capítulo 10: Cambiar
Parámetros
Observaciones
Examples
Uso básico
Coincidencia de valores múltiples
Haciendo juego un rango
Usando la instrucción where en un switch
Satisfacer una de las múltiples restricciones usando el interruptor
Emparejamiento parcial
Cambiar fracasos
Interruptor y Enums
Interruptor y Opcionales
Interruptores y tuplas
Coincidencia basada en clase - ideal para prepareForSegue
Capítulo 11: Cierres
Sintaxis
Observaciones
Examples
Fundamentos de cierre
Variaciones de sintaxis
Pasando cierres a funciones
Sintaxis de cierre de seguimiento
Parámetros de @noescape
Nota de Swift 3:
61
62
63
63
63
64
65
66
66
66
66
66
67
67
67
68
68
69
70
70
70
71
73
73
73
73
73
74
75
75
75
76
throws y rethrows
Capturas, referencias fuertes / débiles y ciclos de retención.
Retener ciclos
Utilización de cierres para codificación asíncrona.
Cierres y alias de tipo
Capítulo 12: Cifrado AES
Examples
Cifrado AES en modo CBC con un IV aleatorio (Swift 3.0)
Cifrado AES en modo CBC con un IV aleatorio (Swift 2.3)
Cifrado AES en modo ECB con relleno PKCS7
Capítulo 13: Comenzando con la Programación Orientada al Protocolo
Observaciones
Examples
Aprovechamiento de la programación orientada al protocolo para pruebas unitarias
Usando protocolos como tipos de primera clase.
Capítulo 14: Concurrencia
Sintaxis
Examples
Obtención de una cola de Grand Central Dispatch (GCD)
Ejecución de tareas en una cola de Grand Central Dispatch (GCD)
Loops concurrentes
Ejecutar tareas en un OperationQueue
Creación de operaciones de alto nivel
Capítulo 15: Condicionales
Introducción
Observaciones
Examples
Usando guardia
Condicionales básicos: declaraciones if
El operador lógico AND
El operador lógico O
El operador lógico NO
76
77
78
78
79
81
81
81
84
85
87
87
87
87
88
93
93
93
93
95
96
97
99
102
102
102
102
102
103
103
104
104
Encuadernación opcional y cláusulas "donde".
Operador ternario
Operador sin coalescencia
Capítulo 16: Conjuntos
Examples
Declarar Conjuntos
Modificar valores en un conjunto.
Comprobando si un conjunto contiene un valor
Realización de operaciones en sets.
Agregando valores de mi propio tipo a un conjunto
CountedSet
Capítulo 17: Control de acceso
Sintaxis
Observaciones
Examples
Ejemplo básico usando un Struct
Car.make (público)
Car.model (interno)
Car.otherName (fileprivate)
Car.fullName (privado)
Ejemplo de subclasificación
Getters and Setters Ejemplo
Capítulo 18: Controlador de finalización
Introducción
Examples
Controlador de finalización sin argumento de entrada
Controlador de finalización con argumento de entrada
Capítulo 19: Convenciones de estilo
Observaciones
Examples
Claro uso
Evitar la ambigüedad
104
105
106
107
107
107
107
107
107
108
108
110
110
110
110
110
111
111
111
111
111
112
113
113
113
113
113
115
115
115
115
115
Evitar la redundancia
Nombrando variables de acuerdo a su rol.
Alto acoplamiento entre nombre de protocolo y nombres de variable
Proporcionar detalles adicionales cuando se utilizan parámetros de tipo débil
Uso fluido
Usando lenguaje natural
Métodos de fábrica de nombres
Nombrando Parámetros en Inicializadores y Métodos de Fábrica
Nombrar de acuerdo a los efectos secundarios
Funciones o variables booleanas
Protocolos de denominación
Tipos y propiedades
Capitalización
Tipos y Protocolos
Todo lo demas...
El caso de Carmel:
Abreviaturas
Capítulo 20: Cuerdas y personajes
Sintaxis
Observaciones
Examples
Literales de cuerdas y personajes
Interpolación de cuerdas
Caracteres especiales
Cuerdas de concatenación
Examina y compara cuerdas
Codificación y descomposición de cadenas
Cuerdas en descomposición
Longitud de la cuerda y la iteración
Unicode
115
115
116
116
116
116
116
116
117
117
117
117
118
118
118
118
118
120
120
120
120
120
120
121
121
122
123
123
123
123
Estableciendo valores
Conversiones
Cuerdas de inversión
Cadenas mayúsculas y minúsculas
Compruebe si la cadena contiene caracteres de un conjunto definido
Contar las ocurrencias de un personaje en una cadena
Eliminar caracteres de una cadena no definida en Set
Formato de cadenas
Ceros a la izquierda
Números despues de decimal
Decimal a hexadecimal
Decimal a un número con radix arbitrario
Convertir una cadena Swift a un tipo de número
Iteración de cuerdas
Eliminar WhiteSpace y NewLine iniciales y finales
Convertir cadena a / desde datos / NSData
Dividir una cadena en una matriz
Capítulo 21: Derivación de clave PBKDF2
Examples
Clave basada en contraseña Derivación 2 (Swift 3)
Clave basada en contraseña Derivación 2 (Swift 2.3)
Calibración de derivación de clave basada en contraseña (Swift 2.3)
Calibración de derivación de clave basada en contraseña (Swift 3)
Capítulo 22: Entrar en Swift
Observaciones
Examples
Imprimir Debug
Actualización de una clase de depuración e impresión de valores.
tugurio
imprimir () vs dump ()
imprimir vs NSLog
123
124
124
125
125
126
127
127
127
127
127
127
128
128
130
130
131
133
133
133
134
135
135
137
137
137
137
137
138
139
139
Capítulo 23: Enums
Observaciones
Examples
Enumeraciones basicas
Enums con valores asociados.
Cabida indirecta
Valores crudos y hash
Inicializadores
Las enumeraciones comparten muchas características con clases y estructuras
Enumeraciones anidadas
Capítulo 24: Estructuras
Examples
Fundamentos de Estructuras
Las estructuras son tipos de valor
Mutando un Struct
Cuando puedes usar métodos de mutación
Cuando NO puedes usar métodos de mutación
Las estructuras no pueden heredar
Accediendo miembros de struct
Capítulo 25: Extensiones
Observaciones
Examples
Variables y funciones
Inicializadores en extensiones
¿Qué son las extensiones?
Extensiones de protocolo
Restricciones
Qué son las extensiones y cuándo usarlas.
Subíndices
Capítulo 26: Funcionar como ciudadanos de primera clase en Swift
Introducción
Examples
141
141
141
141
142
143
143
144
145
146
147
147
147
147
147
148
148
148
148
150
150
150
150
150
151
151
151
152
152
154
154
154
Asignando función a una variable
Pasar la función como un argumento a otra función, creando así una función de orden superi
Función como tipo de retorno de otra función.
Capítulo 27: Funciones
Examples
Uso básico
Funciones con parámetros
Valores de retorno
Errores de lanzamiento
Métodos
Métodos de instancia
Métodos de tipo
Parámetros de entrada
Sintaxis de cierre de seguimiento
Los operadores son funciones
Parámetros variables
Subíndices
Opciones de subíndices:
Funciones con cierres
Funciones de p
Comentarios de: Aprendizaje Swift Language (0)
No hay comentarios