Persistencia de Datos en iOS con UserDefaults
Clase 12 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
¿Qué es la persistencia y por qué es importante?
La persistencia es fundamental en el desarrollo de aplicaciones modernas, ya sea en Android, iOS o web. Almacenar información localmente mejora la experiencia del usuario al eliminar la necesidad de acciones repetitivas, como ingresar el correo al iniciar sesión en cada ocasión. Esto se logra utilizando funciones que permiten recordar información clave del usuario, asegurando una interacción más fluida y personalizada.
En el contexto de iOS, Apple proporciona una herramienta poderosa para la persistencia conocida como UserDefault, que facilita el almacenamiento local de datos en los dispositivos del usuario.
¿Cómo configurar la persistencia utilizando UserDefault en iOS?
UserDefault nos permite almacenar y recuperar valores fácilmente con el uso de llaves únicas. Aquí te mostramos cómo implementarlo para recordar el correo electrónico del usuario en una aplicación.
Paso a paso para almacenar datos
-
Crear una propiedad constante: Inicializa un objeto de UserDefault para acceder a los valores guardados.
let storage = UserDefaults.standard -
Definir una llave para almacenar el correo: Proporciona consistencia en el formato de las llaves para una fácil gestión.
let emailKey = "emailKey" -
Buscar datos almacenados: En el método
viewDidLoad, verifica si ya existe un correo guardado.if let storedEmail = storage.string(forKey: emailKey) { emailTextField.text = storedEmail emailSwitch.isOn = true } else { emailSwitch.isOn = false } -
Guardar el correo al iniciar sesión: Solo si el switch está activado, guarda el correo utilizando la llave definida.
if emailSwitch.isOn { storage.setValue(emailTextField.text, forKey: emailKey) }
Eliminar datos de UserDefault
Una operación esencial en el manejo de persistencia es la eliminación de datos. Aquí te mostramos cómo hacerlo cuando el usuario decide no guardar su información.
-
Eliminar el correo guardado: Utiliza el método
removeObjectcuando el switch esté desactivado al completar el login.storage.removeObject(forKey: emailKey)
Buenas prácticas y recomendaciones
¿Es seguro guardar contraseñas en UserDefault?
No, es inseguro almacenar contraseñas o tokens de autenticación en UserDefault. Este tipo de información sensible puede ser comprometida en dispositivos modificados (jailbroken). Para una protección adecuada, utiliza servicios más seguros como Keychain Services.
Tarea recomendada
Invitamos a los estudiantes a investigar sobre los Keychain Services. Estos ofrecen un almacenamiento seguro para contraseñas y datos sensibles en iOS. Comprende mejor su uso para garantizar la seguridad de la información de tus usuarios.
Practica almacenando diferentes tipos de datos, como números y booleanos, hasta sentirte cómodo con las funcionalidades de UserDefault. ¡Sigue experimentando y mejora tus habilidades constantemente!