Variables y tipos de datos
Estructuras de control de flujo
Funciones y métodos
Programación orientada a objetos
Colecciones
Opcionales
Manejo de errores
Closures y funciones de orden superior
Principios de diseño de interfaz de usuario
Creación de interfaces de usuario
Diseño de elementos de interfaz de usuario
Diseño de navegación
Diseño de gráficos y animaciones
Diseño adaptable y responsivo
Utilización de patrones de diseño
Selección de tipografía y colores
Pruebas de usabilidad
Diseño accesible
Clases y objetos
Herencia
Polimorfismo
Abstracción
Encapsulación
Propiedades y métodos
Referencias y memoria
Genéricos
Patrones de diseño
Core Data
SQLite
JSON
APIs web
Networking
Almacenamiento local
Archivos
CloudKit
Parse
Firebase
Protocolos de comunicación
Manejo de peticiones y respuestas
Formatos de intercambio de datos
Autenticación y autorización
Uso de APIs
Mapeo de objetos
Networking
Autenticación de usuario
Integración de servicios
Gestión de errores
Frameworks de hardware
Acceso a sensores
Acceso a dispositivos externos
Comunicación con dispositivos externos
Acceso a la cámara
Acceso al micrófono
Acceso al GPS
Integración de hardware en la interfaz de usuario
Uso de APIs de terceros
Pruebas y depuración
Registro de cuenta
Certificados y perfiles de aprovisionamiento
Creación de una identidad de aplicación
Desarrollo de la aplicación
Pruebas de la aplicación
Envío de la aplicación
Revisión de la aplicación
Publicación de la aplicación
Gestión de la aplicación
Promoción de la aplicación
Es importante recordar que cada subtema es una pieza fundamental en el rompecabezas del aprendizaje de iOS. Si te enfocas en aprender uno a la vez, con el tiempo irás viendo cómo se conectan entre sí y cómo todo tiene sentido.