Uso de User Defaults para Guardar Datos Simples en iOS

Clase 3 de 18Curso de iOS: Modo Offline con Swift Data y Realm

Resumen

¿Cómo utilizar User Defaults para guardar datos simples en tu aplicación?

User Defaults es una herramienta esencial en el mundo del desarrollo de aplicaciones, ideal para almacenar datos simples localmente. Este enfoque permite guardar información de manera eficiente, como strings, fechas, booleanos y números. Sin embargo, es importante recordar que no es apto para manejar grandes estructuras de datos. A continuación, te presentamos cómo implementarlo de manera efectiva en tu proyecto.

¿Cómo configurar tu proyecto con User Defaults?

Iniciar con User Defaults es sencillo. En el ejemplo práctico que te proporcionamos, nuestra aplicación permite escribir un apodo y luego guardarlo o eliminarlo. Si sigues estos pasos, podrás experimentar su funcionalidad:

  1. Estructura Básica del Proyecto:

    • Contamos con una vista principal llamada MainView que se conecta con un MainViewModel.
    • El MainViewModel alberga las funciones esenciales para interactuar con User Defaults.
  2. Instancia de User Defaults:

    • Crea una instancia con let defaults = UserDefaults.standard.
    • Esto te dará acceso a la información localmente guardada en User Defaults.

¿Cómo guardar y editar datos?

Guardar y editar datos es una tarea sencilla con User Defaults. Aquí te mostramos cómo:

let defaults = UserDefaults.standard
let nicknameKey = "Nickname"

func saveNickname(nickname: String) {
    defaults.set(nickname, forKey: nicknameKey)
}
  • Utilizamos defaults.set() para guardar el valor de la variable nickname.
  • Una buena práctica es usar constantes para las llaves, como nicknameKey, para evitar errores en varias funciones y mejorar la legibilidad.

¿Cómo eliminar datos?

La eliminación de datos también es directa:

func removeNickname() {
    defaults.removeObject(forKey: nicknameKey)
}
  • La función removeObject(forKey: ) es utilizada para borrar el apodo almacenado bajo nicknameKey.

¿Cómo obtener datos guardados?

Para recuperar datos guardados y verificar si existió un valor previo, sigue este método:

func getNickname() -> String {
    if let storedNickname = defaults.string(forKey: nicknameKey) {
        return storedNickname
    }
    return ""
}
  • Utilizando defaults.string(forKey: ), podemos recuperar el valor almacenado si existe.

¿Qué aspectos adicionales considerar?

  • Asegúrate de refrescar los valores en tu aplicación al guardar, editar o eliminar datos.
  • Puedes realizar pruebas cerrando y reabriendo la aplicación para confirmar que los cambios persisten.

¿Cuándo es mejor utilizar otras alternativas?

Esta metodología es fantástica para datos pequeños y simples. No obstante, si necesitas manejar grandes volúmenes de datos, deberías considerar usar bases de datos como SWIFTDA o Real, que exploraremos más adelante en este curso.

Mantente atento a futuras clases donde abordaremos cómo implementar arquitecturas de base de datos en tus proyectos. ¡Sigue aprendiendo y explorando las infinitas posibilidades del desarrollo de aplicaciones!