¿Cómo obtener datos de Firebase en Swift Language (iOS)?

Objetivos del blog.

Después de leer este blog, podremos comprender el proceso para obtener datos de Firebase. Este proceso incluye la instalación de Firebase SDK y la implementación de código para obtener datos de Firebase.

Pre-requisitos

Necesitamos escribir código swift para obtener los datos de Firebase. Para esto primero tendremos que crear el proyecto Firebase. Siga los pasos que se indican a continuación para crear el proyecto Firebase:

1. Visite https://console.firebase.google.com

2. Luego tendrás que crear el proyecto Firebase haciendo clic en "Añadir proyectobotón "

add-project: ¿Cómo obtener datos de Firebase en Swift Language (iOS)?

3. Necesita el archivo GoogleService-Info.plist para iOS SDK, ya que este archivo contiene los detalles del proyecto Firebase que utiliza Firebase SDK.

4. Luego agrega el archivo plist en el proyecto

5. Agregue el siguiente código antes de la declaración de retorno dentro de la aplicación(_: didFinishLaunchingWithOptions 🙂 en el archivo AppDelegate.swift

FirebaseApp.configure ()

6. Luego ve a "base de datos"opción del menú de la izquierda.

7. Seleccionar "Base de datos en tiempo real"y esa es la base de datos del proyecto Firebase. Todos los datos que se almacenan o se recuperan son de esta ubicación.

8. La configuración de Firebase está completa. Ahora tendrá que descargar Firebase SDK en el swift. Para ello deberás instalar los siguientes pods.

  1. pod 'Firebase / Core'
  2. pod 'Firebase / Base de datos'

Supongamos que tiene los siguientes datos en la estructura dada en la base de datos de Firebase:

// La raíz del árbol {// artículos comestibles "artículos comestibles": {// artículos comestibles / leche "leche": {// artículos comestibles / leche / nombre "nombre": "leche", / / grocery-items / milk / addedByUser "addedByUser": "David"}, "pizza": {"name": "Pizza", "addedByUser": "Alice"},}}

Después de la instalación exitosa de las cápsulas, podemos pasar a la parte de codificación.

Implementación de Código

Todos los puntos / nodos de datos se utilizan para acceder a los datos de la base de datos Firebase. Creamos referencias a los nodos y luego recuperamos datos de ese nodo. En otras palabras, una referencia de Firebase apunta a una ubicación en Firebase donde se almacenan los datos. Primero tendremos que crear una referencia al nodo raíz de la estructura de la base de datos –

let ref = Database.database (). reference (withPath: "grocery-items")

o se puede utilizar la siguiente manera:

let rootRef = Database.database (). reference () let ref = rootRef.child ("grocery-items")

La referencia al nodo secundario que es "leche" se puede crear utilizando el siguiente código:

let milkRef = ref.child ("milk")

Se puede adjuntar un oyente asíncrono a una referencia para recuperar datos de Firebase usando observar (_: con 🙂 método. El siguiente código recuperará los datos y seguirá escuchando los cambios de datos en la base de datos. Tan pronto como se realiza cualquier cambio en la base de datos, se recupera la nueva instantánea del nodo / referencia y obtenemos los datos actualizados tan pronto como se realiza cualquier cambio en la base de datos.

ref.observe (.value, con: {snapshot in // Esta es la instantánea de los datos en el momento en la base de datos de Firebase // Para obtener el valor de la instantánea, el usuario snapshot.value imprimimos (snapshot.value como Cualquiera) })

Luego, los valores de la instantánea se pueden analizar y utilizar en la aplicación. Una gran ventaja de usar observar método sobre observeSingleEvent El método es que no tiene que llamar a la función una y otra vez, ya que los datos actualizados se recuperan de la base de datos tan pronto como se modifica cualquier valor en la base de datos.

Resumen

Ahora debería poder obtener los datos de la base de datos de Firebase de forma rápida utilizando Firebase SDK.


¿Cómo guardar datos en Firebase en Swift Language (iOS)?

Objetivos del blog

Después de leer este blog, podremos instalar el SDK de Firebase en su proyecto y escribir código para guardar datos en la base de datos de Firebase junto con la creación del proyecto de Firebase.

Beneficios de usar la base de datos de Firebase

No importa si está trabajando en un proyecto pequeño o tiene los ojos puestos en uno grande, debe necesitar una base de datos para almacenar toda su información. Si está trabajando en un proyecto pequeño, puede usar esta base de datos de Firebase. Aquí está la lista de beneficios usando la base de datos de Firebase: 1. Le ayuda a administrar sin esfuerzo los datos de su tienda. 2. Si los datos cambian en cualquier momento, todos los dispositivos conectados recibirán los datos actualizados en sus dispositivos. 3. La base de datos en tiempo real de Firebase es de uso gratuito. 4. Ahorro de tiempo. 5. Soporte multiplataforma y fácil de usar para SDK. 6. Útil para aplicaciones de chat, notificaciones automáticas, noticias, etc.

Pre-requisitos

Necesitamos escribir código Swift para guardar los datos en Firebase. Para ello, primero tendremos que crear el proyecto Firebase. Siga los pasos que se indican a continuación para crear el proyecto de Firebase: 1. Vaya a https://console.firebase.google.com

2.Haga clic en “Añadir proyectobotón ”

 

3. Luego cree la aplicación iOS y descargue el archivo GoogleService-Info.plist 4. Luego mueva el archivo plist dentro del proyecto 5. Después de Xcode, abra AppDelegate.swift y agregue este código antes de la declaración de devolución dentro de la aplicación (_:didFinishLaunchingWithOptions:)

FirebaseApp.configure()

6.Luego haga clic en “base de datosopción ” del menú de la izquierda.

 

7. Seleccione “Base de datos en tiempo real“, allí encontrará la URL de la base de datos, que puede usar en el código para obtener los datos de la base de datos. Por lo general, no necesitará esta URL ya que estamos usando GoogleServices-Info.plist y la URL de la base de datos ya está disponible en ese archivo, solo necesitamos inicializar Firebase. 8. La configuración de Firebase está completa. Ahora tendrá que descargar el SDK de Firebase en Swift. Para ello tendrás que instalar los siguientes pods. 1. vaina ‘base de fuego/núcleo‘ 2. vaina ‘Firebase/Base de datos‘ Supongamos que actualmente no tenemos datos en la base de datos de Firebase y queremos guardar los siguientes datos en el formato dado en la base de datos� –

// La raíz del árbol { "películas": [ "película1": { "nombre": "Avengers", "addedByUser": "John" }, "película2": { "nombre": "Star Wars", " añadidoPorUsuario": "Jane" }, ] }

Después de instalar con éxito los pods en el proyecto, estamos listos para implementar la parte de codificación.


Implementación de código Antes de crear las referencias, deberá comprender qué es una referencia de Firebase. Una referencia de Firebase apunta a una ubicación en Firebase donde se almacenan los datos. Incluso si crea varias referencias, todas comparten la misma conexión. Primero tendremos que crear una referencia de FIRDatabaseReference. La referencia que contendrá el nodo raíz (artículos de comestibles) se puede hacer usando el siguiente código:

let ref = Database.database().reference(withPath: "movies")

o también puede usar la siguiente manera:

let rootRef = Database.database().reference() let ref = rootRef.child("películas")

Luego, tendremos que crear una referencia a los elementos secundarios que son leche y pizza para que podamos agregar los datos dentro de esos nodos.

let movieRefAvengers = ref.child("movie1") let movieRefStarWars = ref.child("movie2")

Sabemos que necesitamos guardar el diccionario dentro de estas teclas. Para eso, crearemos dos diccionarios uno para leche y otro para pizza.

let dictMovieRefAvengers: [String: String] = ["name": "Avengers", "addedByUser": "John"] let dictMovieRefStarWars: [String: String] = ["name": "Star Wars", "addedByUser": " Juana"]

Después de eso, podemos agregar el dictPelículaRefAvengers y dictPelículaRefStarWars en el películaRefAvengers y películaRefStarWars y estos se agregarán como elementos secundarios de esas referencias. Hay dos métodos que se utilizan para guardar datos en la base de datos de Firebase, que son setValue y updateChildValues. Si desea saber cuándo se confirmaron sus datos, puede agregar un bloque de finalización. Tanto setValue como updateChildValues ​​toman un bloque de finalización opcional que se llama cuando la escritura se ha confirmado en la base de datos. Este oyente puede ser útil para realizar un seguimiento de qué datos se han guardado y qué datos aún se están sincronizando.

 

// Guardando los valores en el nodo movie1 movieRefAvengers.setValue(dictMovieRefAvengers) { (error:Error?, ref:DatabaseReference) in if let error = error { print("No se pudieron guardar los datos: \(error).") } else { print("¡Los datos se guardaron correctamente!") } } // Guardando los valores en el nodo de pizza movieRefStarWars.setValue(dictMovieRefStarWars) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Los datos no pudieron ser guardado: \(error).") } else { print("¡Los datos se guardaron correctamente!") } }

 

Después de ejecutar el código que se muestra arriba, obtendrá la misma estructura en la base de datos de Firebase que ya se muestra.

Resumen

Después de seguir el procedimiento anterior, podrá guardar los datos en la base de datos de Firebase rápidamente.

Lea también estos artículos:

¿Cómo leer datos del archivo JSON local en Swift?

Introducción

Asumiremos que queremos agregar un archivo JSON dentro de nuestro proyecto y queremos acceder a sus datos en un lenguaje rápido.

Código

Puede crear un archivo JSON en Xcode yendo a Archivo > Nuevo archivo > Vacío y dando al archivo cualquier nombre (por ejemplo, ejemplo.json). El archivo se agregará y luego podemos agregar una cadena JSON en el archivo. es decir –

{“animal”:”León”, “pájaro”:”Gorrión”}

Puede agregar la cadena mencionada anteriormente directamente en el archivo JSON que creamos. La siguiente función se puede usar para leer los datos JSON del archivo JSON para que se pueda acceder a ellos en Swift:

  función estática readJSONFromFile (nombre de archivo: cadena) -> ¿Alguna? { var json: ¿Alguna? if let ruta = Bundle.main.path(forResource: fileName, ofType: "json") { do { let fileUrl = URL(fileURLWithPath: ruta) // Obtener datos del archivo JSON usando la URL del archivo let data = try Data(contentsOf : fileUrl, opciones: .mappedIfSafe) json = probar? JSONSerialization.jsonObject(with: data) } catch { // Manejar el error aquí } } return json } Lectura recomendada: iterar a través de cada elemento de la cadena JSON en Android e iOS

Lectura recomendada: ¿Cómo migrar la tienda Magento de Localhost al servidor?

Iterar a través de cada elemento de la cadena JSON en Android e iOS

Introducción

Asumiremos que vamos a tomar la cadena JSON como cadena de entrada y analizaremos el proceso para acceder a cada elemento de la cadena JSON en Android e iOS.

Androide

String jsonString = "{\" animal \ ": \" Lion \ ", \" bird \ ": \" Sparrow \ "}"; JSONObject jsonObject = new JSONObject (jsonString); Iterador <? > keys = jsonObject.keys (); while (keys.hasNext ()) {String key = (String) keys.next (); Valor de cadena = jsonObject.getString (clave); // Aquí obtenemos el valor de JSON String justify; }

iOS

Convertimos la cadena JSON en un objeto JSON utilizando la extensión que se indica a continuación.

extensión String {func toJSONObject () -> Any? {guard let data = self.data (usando: .utf8, allowLossyConversion: false) else {return nil} return try? JSONSerialization.jsonObject (con: datos, opciones: .mutableContainers)}}

Usamos la extensión mencionada anteriormente como

let jsonString = "{\" animal \ ": \" Lion \ ", \" bird \ ": \" Sparrow \ "}"; si se deja jsonObject = jsonString.toJSONObject () como? [Cadena: Cadena] {para (clave, valor) en jsonObject {print ("\ (clave): \ (valor)") // Aquí obtenemos todas las claves y valores de la cadena JSON}}