Skip to content

Swift Learning Repositorio para aprender y practicar Swift con ejemplos, ejercicios y explicaciones claras. Ideal para principiantes y desarrolladores.

License

Notifications You must be signed in to change notification settings

kontroldev/Swift-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

60494817-E2A8-4D73-8E0C-E16015F7FA8B

GitHub stars GitHub forks

Swift Learning

¡Bienvenido al repositorio de Swift Learning! Este proyecto ha sido creado con el objetivo de ofrecer un recurso práctico y dinámico para aprender y practicar Swift.

¿Qué es este repositorio?

El Swift Learning es un conjunto de recursos organizados donde encontrarás ejemplos, ejercicios y explicaciones de conceptos clave de Swift. Cada sección está diseñada para facilitar tu aprendizaje, desde los fundamentos hasta temas más avanzados.

¿Para quién es este recurso?

Este repositorio es perfecto para:

  • Principiantes que quieran aprender Swift desde cero.
  • Desarrolladores que busquen practicar conceptos específicos.
  • Estudiantes de programación que necesiten un material de apoyo.

Índice de Contenidos

1. Swift Básico

  1. Variables y Constantes en Swift
  2. Anotaciones de Tipo
  3. Nomenclatura de Constantes y Variables
  4. Comentarios en Swift
  5. Enteros
  6. Números de Punto Flotante
  7. Type Alias
  8. Booleanos
  9. Tuplas
  10. Opcionales

2. Operadores Básicos

  1. Operador de Asignación
  2. Operadores Aritméticos
  3. Operadores de Asignación Compuesta
  4. Operadores de Comparación
  5. Operador Condicional Ternario
  6. Operador de Fusión de Nil
  7. Operadores de Rango
  8. Operadores Lógicos

3. String y Caracteres

  1. Strings
  2. Trabajando con Caracteres
  3. Modificación de Caracteres
  4. Subcadenas
  5. Unicode en Strings

4. Tipo de Colecciones

  1. Colecciones Mutables
  2. Arrays
  3. Sets
  4. Diccionarios

5. Flujos de Control

  1. Bucles For
  2. Bucles While
  3. Sentencias If
  4. Tuplas
  5. Where
  6. Control de Transferencias

6. Funciones

  1. Funciones
  2. Parámetros y Valores de Retorno
  3. Tuplas Opcionales
  4. Etiquetas de Argumentos
  5. Parámetros Variádicos
  6. Parámetros In-Out
  7. Tipos de Función
  8. Funciones como Parámetros
  9. Funciones como Retorno
  10. Funciones Anidadas

7. Closures

  1. Qué son los Closures
  2. Closures como tipos de referencia

8. Enum

  1. Qué son los Enums
  2. Iterar sobre los Enums
  3. Valores asociados en Enums
  4. Raw Values
  5. Valores Brutos Implícitos
  6. Inicializar desde un valor en bruto
  7. Recursividad en los Enums

9. Struct y Class

  1. Comparación entre Struct y Class
  2. Definir la Sintaxis
  3. Instancias en Struct y Class
  4. Accediendo a Propiedades
  5. Inicialización (init)
  6. Struct y Enum como tipos de valor
  7. Clases como tipos de referencia

10. Propiedades

  1. Stored Properties
  2. Propiedades en constantes
  3. Lazy Properties
  4. Propiedades en variables
  5. Computed Properties
  6. Declaración simplificada de Getter
  7. Computed Properties (Read-Only)
  8. Observadores de Propiedades (willSet y didSet)
  9. Property Wrappers
  10. Valores iniciales en Property Wrappers
  11. Property Wrappers con valores proyectados
  12. Variables globales y locales
  13. Type Properties
  14. Type Property Syntax
  15. Consultar y Modificar Propiedades de Tipo

11. Métodos

  1. Definiendo Métodos
  2. Método self
  3. Métodos de Instancia
  4. Métodos Mutating

12. Subscripts

  1. Sintaxis
  2. Opciones de Subíndices
  3. Tipos de Subíndices

13. Herencia

  1. Definiendo una Clase
  2. Subclases
  3. Sobrescritura
  4. Sobrescribiendo Propiedades
  5. Previniendo Sobrescritura

14. Inicializadores

  1. Inicialización en Swift
  2. Creando un Inicializador
  3. Propiedades Opcionales
  4. Inicializador Predeterminado
  5. Delegación de Inicialización en Tipos de Valor
  6. Herencia en Inicialización
  7. Delegación de Inicialización en Clases
  8. Inicializadores Fallables
  9. Propagación de Fallos en la Inicialización
  10. Inicializadores Requeridos

15. Desinicialización

  1. Desinicialización
  2. Desinicializadores en Acción

16. Optional Chaining

  1. Encadenamiento Opcional
  2. Clases de Modelo
  3. Propiedades con Encadenamiento Opcional
  4. Métodos con Encadenamiento Opcional
  5. Subscripts con Encadenamiento Opcional
  6. Métodos de Retorno Opcionales
  7. Multiple Levels Optional Chaining
  8. Optional Return Methods

17. Manejo de Errores

  1. Lanzamiento de Errores (Throwing Errors)
  2. Propagación de Errores
  3. Manejo de Errores con Do-Catch
  4. Convertir Errores en Valores Opcionales
  5. Deshabilitar la Propagación de Errores
  6. Especificar Tipos de Error
  7. Especificar Acciones de Limpieza

18. Concurrencia

  1. Introducción a la Concurrencia
  2. Definir y Llamar Funciones Asíncronas
  3. Secuencias Asíncronas
  4. Llamadas Asíncronas en Paralelo
  5. Tareas y Grupos de Tareas
  6. Cancelación de Tareas
  7. Concurrencia No Estructurada
  8. Actores
  9. Tipos Sendable

19. Macros

  1. ¿Qué son las Macros?
  2. Macros Independientes
  3. Macros Adjuntas
  4. Declaraciones de Macros
  5. Expansión de Macros
  6. Implementación de Macro
  7. Desarrollo de Macros

20. Type Casting

  1. Definir una Jerarquía
  2. Comprobación de Tipo
  3. Downcasting
  4. Type Casting

21. Tipos Anidados

  1. Uso de Anidados
  2. Accediendo a Tipos Anidados

22. Extensiones

  1. Sintaxis de Extensiones
  2. Computed Properties
  3. Inicializadores
  4. Methods
  5. Mutating Instance
  6. Subscripts
  7. Nested Type

23. Protocolos

  1. Sintaxis básica
  2. Requisitos de propiedades
  3. Requisitos de métodos
  4. Requisitos de inicializadores
  5. Protocolos de tipo
  6. Delegation
  7. Agregar conformidad a un protocolo
  8. Conformidad condicional
  9. Adoptar un protocolo con implementación sintetizada
  10. Colecciones de Tipos
  11. Herencia de protocolo
  12. Protocolos exclusivos para clases
  13. Composición de protocolos
  14. Verificación de conformidad con un protocolo
  15. Requisitos opcionales en protocolos
  16. Extensiones de protocolos
  17. Proporcionar implementaciones por defecto
  18. Agregar restricciones a extensiones de protocolos

24. Genéricos

  1. Código Reutilizable sin Genéricos
  2. Funciones Genéricas
  3. Parámetros de Tipo
  4. Nombrando Parámetros de Tipo
  5. Tipos Genéricos
  6. Extender un Tipo Genérico
  7. Restricciones de Tipo
  8. Sintaxis de Restricciones de Tipo
  9. Tipos Asociados
  10. Uso de Tipos Asociados
  11. Cláusulas where en Genéricos
  12. Cláusulas Contextuales
  13. Tipos Asociados con Cláusula where
  14. Subíndices Genéricos

25. Tipos de Protocolo Opaco

  1. El Problema de los Tipos Opacos
  2. Devolviendo un Tipo Opaco
  3. Tipos de Protocolo Encapsulados
  4. Diferencias entre Tipos Opacos y Encapsulados

26. Recuento Automático de Referencias (ARC)

  1. Cómo Funciona ARC
  2. ARC en Acción
  3. Ciclos de Referencias Fuertes Entre Instancias de Clase
  4. Resolviendo Ciclos de Referencias Fuertes
  5. Referencias unowned
  6. Referencias unowned Opcionales
  7. Ciclos de Referencias Fuertes en Closures
  8. [Resolviendo Ciclos de Referencias Fuertes en Closures](https://github.com/kontroldev/Swift-Learning/

27. Seguridad de la Memoria

  1. Entendiendo el Acceso a la Memoria
  2. Características del Acceso a la Memoria
  3. Acceso en Parámetros inout
  4. Acceso en self dentro de Métodos
  5. Acceso a Propiedades

28. Access Control

  1. Niveles de Acceso
  2. Principios de Acceso
  3. Sintaxis de Control de Acceso
  4. Control de Acceso en Tipos Personalizados
  5. Control de Acceso en Tipos Tupla
  6. Control de Acceso en Tipos Anidados
  7. Control de Acceso en Constantes, Variables y Propiedades
  8. Control de Acceso en Protocolos
  9. Control de Acceso en Herencia de Protocolos
  10. Control de Acceso en Implementación de Protocolos
  11. Generics y Control de Acceso
  12. Control de Acceso en Type Aliases

29. Advanced Operators

  1. Bitwise Operator
  2. Bitwise AND Operator
  3. Bitwise OR Operator
  4. Bitwise XOR Operator
  5. Overflow Operator
  6. Value Overflow
  7. Precedence and Associativity
  8. Operator Methods
  9. Prefix and Postfix Operators
  10. Compound Assignment Operators
  11. Equivalence Operators
  12. Custom Operators
  13. Result Builders

Recursos Adicionales

¡Esperamos que encuentres útil este repositorio y que te ayude en tu camino para dominar Swift!


Este repositorio se actualizará constantemente para incluir nuevas lecciones, ejercicios y características introducidas en las versiones más recientes de Swift, ¡manteniéndolo siempre al día!

License

About

Swift Learning Repositorio para aprender y practicar Swift con ejemplos, ejercicios y explicaciones claras. Ideal para principiantes y desarrolladores.

Resources

License

Stars

Watchers

Forks