Serialización de JSON a Modelos en Swift 5 con Codable
Clase 17 de 52 • Curso de Desarrollo de Apps para iOS
Contenido del curso
- 4

Creación de la primera app iOS con Xcode: Login de Facebook
09:02 - 5

Navegación entre pantallas en iOS con UI Navigation Controller
05:49 - 6

Creación y conexión de múltiples storyboards en iOS
06:14 - 7

Conexiones IBOutlets y IBActions en iOS con Storyboards
11:00 - 8

Comparativa: Auto Layout vs SwiftUI en Desarrollo iOS
02:48 - 9

Auto Layout en iOS: Diseño Responsivo con Constraints y StackViews
11:10 - 10

Creación y configuración de tablas en iOS con Swift
12:49 - 11

Creación de celdas personalizadas en TableView de iOS
14:00 - 12

Persistencia de Datos en iOS con UserDefaults
11:09
- 19

Desarrollo de "Platzi Tweets": Red Social iOS Realista
02:24 - 20

Configuración Inicial de Proyecto iOS con CocoaPods
06:18 - 21

Diseño de Pantallas de Bienvenida, Inicio de Sesión y Registro en iOS
13:06 - 22

Controladores y validaciones en pantallas de registro y login
12:22 - 23

Validación y Conexiones en Login y Registro iOS
10:01 - 24
Modelado de Endpoints y JSON para API de PlatziTweets
01:44 - 25

Integración de Autenticación con API de Platzi Tweets
09:37 - 26

Desarrollo de Registro y Autenticación en Aplicaciones iOS
06:47 - 27

Diseño de Interfaces para Aplicaciones iOS: Creación de Celdas Personalizadas
12:37 - 28

Consumo de API para mostrar tweets en iOS
12:43 - 29

Diseño de Pantalla para Crear y Publicar Tweets en iOS
11:06 - 30

Conexión de Pantalla de Publicación con Servicios de Platzi Tweets
09:11 - 31

Borrado de Tweets Propios en iOS usando Swipe en UITableView
12:21 - 32

Uso de la Cámara del iPhone para Adjuntar Fotos en Posts
10:40 - 33
Conexión de Aplicaciones iOS con Firebase paso a paso
02:26 - 34

Configuración de iPhone y X-Code para ejecución de apps
04:45 - 35

Subida de Fotos a Firebase y Publicación en Twitter
13:38 - 36

Configuración de Post con Imagen en Firebase
03:13 - 37

Captura y Publicación de Videos en iOS con Firebase
09:17 - 38

Subida de Videos a Firebase e Integración en Posts de iOS
14:41 - 39

Configuración de Celdas para Reproducción de Videos en iOS
07:58 - 40

Acceso al GPS y almacenamiento de coordenadas en iOS
09:43 - 41

Integración de Mapas en iOS con Coordenadas de Usuario
11:29 - 42

Marcadores y Configuración de Mapas en iOS con Swift
14:11 - 43

Mejoras avanzadas en UI y UX para iOS Developer
01:28
¿Por qué usar modelos en lugar de diccionarios al consumir servicios en Swift?
Al desarrollar aplicaciones en Swift, existe una práctica común que es usar modelos en lugar de diccionarios para consumir servicios. Esto no solo mejora la legibilidad del código, sino que también ofrece una estructura más clara y profesional. En lugar de manejar diccionarios con valores ambiguos, transformarás tus datos JSON en objetos bien definidos que siguen el protocolo Codable. Este enfoque no solo es más organizado, sino que también es más seguro y eficiente.
¿Cómo crear un modelo 'Codable' en Swift?
Para comenzar, define una estructura que represente los datos que esperas recibir en formato JSON. En este caso, creamos la estructura Human, que incluye tres propiedades: user, age, e isHappy. Estas propiedades deben coincidir con los tipos de datos que esperas recibir. El protocolo Codable es indispensable ya que permite la serialización y deserialización de los datos JSON de manera automática.
struct Human: Codable {
let user: String
let age: Int
let isHappy: Bool
}
¿Cómo deserializar datos JSON usando JSONDecoder?
Una vez que tienes tu modelo, el siguiente paso es utilizar el JSONDecoder para transformar los datos JSON que recibes en una instancia del modelo. Esto se hace de manera sencilla con el método decode, de la siguiente manera:
let model = try JSONDecoder().decode(Human.self, from: dataFromService)
En este ejemplo, dataFromService es la data JSON obtenida del servicio. La función decode requiere dos parámetros: el tipo del modelo al que deseas deserializar (en este caso, Human.self) y los datos crudos JSON.
¿Qué beneficios ofrece usar Codable y JSONDecoder?
- Legibilidad: Al usar estructuras definidas como
Human, el código se vuelve más fácil de leer y entender. - Seguridad: Los modelos
Codableson más seguros ya que implican menos errores que los diccionarios debido a la tipificación fuerte de Swift. - Mantenimiento: Cambiar y expandir el modelo se hace más sencillo porque todo está encapsulado.
- Eficiencia: El proceso de decodificación es más rápido y ahorra recursos al estar bien optimizado en Swift.
¿Qué ocurre si trabajo con una versión antigua de Swift?
El protocolo Codable está disponible desde Swift 4 en adelante. Si trabajas en un proyecto que utiliza una versión de Swift más antigua, deberás emplear otras herramientas de serialización. Sin embargo, si estás utilizando Swift 5, puedes aprovechar todas las ventajas que ofrece Codable, ya que llegó para quedarse y es ampliamente usado en la industria de desarrollo de aplicaciones.
Este enfoque te permite llevar la estructura a tus aplicaciones y hacer que el proceso de deserializar JSON sea fácil y eficiente. ¡Anímate a practicar creando tus propias estructuras Codable y refuerza tus habilidades en Swift!