Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Firebase

Cómo usar Firestore de Firebase en una aplicación iOS

by
Read Time:7 minsLanguages:

Spanish (Español) translation by lás (you can also view the original English article)

En este tutorial, aprenderá cómo administrar datos en una base de datos Firestore de Firebas.

Para obtener algunos antecedentes sobre Firebase e instrucciones sobre cómo configurar su base de datos de Firestore, lea mi publicación anterior Introducción a Firebase.

Datos, documentos y colecciones

Trabajar con Firestore, datos, documentos y colecciones son los conceptos clave que debemos entender.

Datos

Los datos pueden ser cualquiera de los siguientes tipos:    

  • String (Cadenas)
  • Number (Numeros)
  • Boolean (Booleano)
  • Map (Mapa)
  • Array (matriz)
  • Null (Nulo)
  • Timestamp (Marca de tiempo)
  • Geopoint (Geopunto)
  • Reference (Referencia)

Documentos

Los documentos contienen elementos de datos en un conjunto de pares clave-valor. Firebase Firestore está optimizado para almacenar grandes colecciones de documentos. Un documento es un registro ligero con campos que se asignan a valores. Cada documento se identifica por un nombre.

Por ejemplo, podríamos describir un documento Country de la siguiente manera:

Aquí, Country (País) es el documento que contiene dos campos: Name (Nombre) y Capital.

Colecciones

Las colecciones contienen conjuntos de documentos. Los documentos viven en colecciones, que son simplemente contenedores para documentos. Por ejemplo, podría tener una colección de países para contener sus diversos Countries (países), cada uno representado por un documento:

En resumen, los datos son parte de un documento, que pertenece a una colección.

Aprenderemos más sobre datos, documentos y colecciones creando una aplicación muestra.

Creando una nueva aplicación Firebase

Para comenzar, deberá crear un nuevo proyecto Xcode y configurarlo en el portal Firestore de Firebase.

Primero, cree un proyecto en Xcode y asígnele el nombre ToDoApp. Luego, crea un proyecto correspondiente en Firebase y también llámalo ToDoApp.

Create a project in Firebase and name it ToDoAppCreate a project in Firebase and name it ToDoAppCreate a project in Firebase and name it ToDoApp

A continuación, registre su aplicación con un identificador de paquete.

Register the appRegister the appRegister the app

Firebase creará un archivo de configuración para que lo incluyas en tu proyecto. Descarga el archivo de configuración y agrégalo a la raíz de su proyecto Xcode como se ve.

Download the GoogleService config fileDownload the GoogleService config fileDownload the GoogleService config file

Aquí hay una captura de pantalla de la estructura de la carpeta de mi proyecto con el archivo de configuración de GoogleService resaltado.

The GoogleService config file in the project folder

A continuación, debes instalar CocoaPods para Firebase. CocoaPods facilita la instalación y administración de dependencias externas, como bibliotecas o marcos de terceros en sus proyectos de Xcode. Si aún no tienes un Podfile, siga las instrucciones para crear uno. Luego agrega los servicios básicos de Firebase a  Podfile y ejecuta pod install.

Initialize and add the required podsInitialize and add the required podsInitialize and add the required pods

A continuación, el asistente de configuración de Firebase  dará un código para agregar a AppDelegate. Copie las líneas resaltadas a continuación en el archivo AppDelegate.

Add initialization code to your AppDelegate fileAdd initialization code to your AppDelegate fileAdd initialization code to your AppDelegate file

Cuando haya completado todos estos pasos, la pantalla de configuración del proyecto en Firebase se verá así:

Firebase project setup screen awaiting verification Firebase project setup screen awaiting verification Firebase project setup screen awaiting verification

Para completar la instalación, debe hacer que su aplicación se comunique con el servidor Firebase. Simplemente ejecute su proyecto Xcode y regrese a la pantalla de configuración del proyecto en Firebase, y debería ver algo como esto:

Successfully verified installationSuccessfully verified installationSuccessfully verified installation

Manejo de datos en una aplicación Firebase

Ahora que hemos terminado con la configuración inicial, comencemos a manejar los datos en nuestra aplicación.

En esta sección del tutorial, crearemos una aplicación para editar, eliminar y leer datos sobre tareas. Pero antes de comenzar a agregar o crear tareas, debemos pensar en los campos que necesitaríamos para una tarea. Dado que esta es una aplicación simple, nos quedaremos con un solo campo:

  • task_details: texto que describe la tarea

También necesitamos una colección, que nombraremos tasks (tareas),  y contendrá estos documentos Task (tarea). Así es como se verá la estructura:

Para representar estos datos, creemos una clase de modelo task simple en TaskModel.swift con el siguiente código:

Tareas de lectura de la colección

Mostraremos las tareas en una vista de tabla simple.

Primero, creemos una clase ToDoListViewController.swift. Luego, agregue ToDoListViewController en Main.storyboard y conéctelo a ToDoListViewController.swift. Agregue un UITableView a ToDoListViewController en el storyboard e implemente delegados.

Ahora crearemos ListService.swift para guardar el código para recuperar los datos de la tarea. Comience importando FirebaseFirestore. Luego cree una instancia de Firestore con Firestore.firestore(). ListService.swift debería tener el siguiente aspecto:

A continuación, agregaremos el método completeList en la clase ListService. Obtendremos todos los datos y documentos de la colección tasks mediante el método getDocuments() de Firebase. Esto devolverá datos o un error.

En este código, querySnapshot contiene los datos devueltos. Será nulo si no hay una colección con el nombre tasks.

Aquí está el resto de la función completeList: recupera los datos de la tarea y llama a la devolución de llamada de finalización con los datos recuperados.

¡Probémoslo! Use el siguiente código para llamar a completeList desde ToDoListViewController.

No debería haber errores, pero querySnapshot será nulo ya que todavía no tenemos ningún documento en nuestra colección. En la siguiente sección, agregaremos algunos datos y luego intentaremos llamar al método completeList nuevamente.

Agregando tareas a la colección

Creemos un método addToList en ListService().

Usamos la descripción de la tarea pasada para crear una instancia taskData y agregarla a la colección tasks. Para hacer esto, usaremos el método addDocument de Firestore Firebase.

Si no hay ningún error, imprimiremos la identificación del documento y devolveremos verdadero en nuestro bloque de finalización. task_id será la identificación del documento. Por ahora, solo enviaremos la cadena vacía, pero eventualmente actualizaremos el task_id con la identificación correcta del documento.

Agreguemos algunos datos de prueba llamando a addToList desde ViewController. Después de ejecutar el siguiente código, regrese a la consola y verá que se agregó una entrada. Ahora, ejecutar getAllTasks() debería devolver true y un recuento de tareas a 1.

Por supuesto, en una aplicación real, ¡querrás crear una interfaz de usuario para agregar tareas!.

Eliminar un documento de tarea en Firestore

Finalmente, veamos cómo podemos eliminar un documento en Firestore. Vuelva a la consola de Firebase Firestore y tome nota del valor de identificación del documentopara "Buy Groceries" ("Comprar comestibles"). Vamos a eliminar el documento según la identificación del documento.

Ahora, agregue un método deleteFromList a ListService como se muestra a continuación.

Llamemos a deleteFromList desde ToDoListViewController. Le pasaremos la identificación del documento de "Buy Groceries", ("Comprar comestibles"), que copiamos de la consola de Firebase.

Al ejecutar el código anterior, debería ver status como true. Si vas a la consola Firestore, deberías ver que la tarea "Buy Groceries" ha sido eliminada.

Conclusión

Con eso, has aprendido cómo crear, leer y eliminar datos de una base de datos de Firebase con Firestore. En este tutorial, creamos una aplicación para administrar tareas usando Xcode y Firebase. Con suerte, esto te ha dado algunas habilidades nuevas que podrá poner en práctica en sus próximos proyectos.

Para que esta aplicación sea más funcional, puede implementar métodos de delegado de vista de tabla para mostrar las tareas de su base de datos, un UITextField para agregar nuevas tareas y un gesto de deslizamiento para eliminar tareas. ¡Pruébalo!

Si tiene alguna pregunta, hágamelo saber en los comentarios.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.