Knowband Blog | Ecommerce Modules

Jak zapisać dane w Firebase w języku Swift (iOS)?


Cele bloga

Po przeczytaniu tego bloga będziemy mogli zainstalować Firebase SDK w Twoim projekcie i napisać kod do zapisywania danych w bazie Firebase wraz z tworzeniem projektu Firebase.

Korzyści z używania bazy danych Firebase

Nie ma znaczenia, czy pracujesz nad małym projektem, czy patrzysz na duży, potrzebujesz bazy danych do przechowywania wszystkich informacji. Jeśli pracujesz nad małym projektem, możesz użyć tej bazy danych Firebase. Oto lista korzyści z korzystania z bazy danych Firebase: 1. Pomaga w bezproblemowym zarządzaniu danymi Twojego sklepu. 2. Jeśli dane ulegną zmianie w dowolnym momencie, wszystkie podłączone urządzenia otrzymają zaktualizowane dane w swoich urządzeniach. 3. Korzystanie z bazy danych czasu rzeczywistego Firebase jest bezpłatne. 4. Oszczędność czasu. 5. Łatwa w użyciu i wieloplatformowa obsługa SDK. 6. Przydatne do aplikacji na czacie, powiadomień push, kanału informacyjnego itp.

Wymagania wstępne

Musimy napisać szybki kod, aby zapisać dane w Firebase. W tym celu najpierw będziemy musieli stworzyć projekt Firebase. Wykonaj poniższe czynności, aby utworzyć projekt Firebase — 1.Przejdź do https://console.firebase.google.com

2. Kliknij „Dodaj projekt” przycisk

 

3. Następnie utwórz aplikację na iOS i pobierz plik GoogleService-Info.plist 4. Następnie przenieś plik plist wewnątrz projektu 5. Następnie w Xcode otwórz AppDelegate.swift i dodaj ten kod przed instrukcją powrotu w aplikacji (_:didFinishLaunchingWithOptions:)

FirebaseApp.configure()

6. Następnie kliknij „Baza danych” opcja z lewego menu.

 

7. Wybierz „Baza danych w czasie rzeczywistym“, znajdziesz tam adres URL bazy danych, którego możesz użyć w kodzie, aby pobrać dane z bazy danych. Generalnie nie będziesz potrzebować tego adresu URL, ponieważ używamy GoogleServices-Info.plist i adres URL bazy danych jest już w tym pliku dostępny, wystarczy zainicjować Firebase. 8. Konfiguracja Firebase została zakończona Teraz będziesz musiał szybko pobrać Firebase SDK. W tym celu będziesz musiał zainstalować następujące strąki. 1. strąk ‘Firebase/rdzeń‘ 2. pod ‘Firebase/Baza danych‘ Załóżmy, że aktualnie nie mamy danych w bazie Firebase i chcemy zapisać w bazie następujące dane w podanym formacie� –

// Korzeń drzewa { "movies": [ "movie1": { "name": "Avengers", "addedByUser": "John" }, "movie2": { "name": "Gwiezdne wojny", " addedByUser": "Jane" }, ] }

Po pomyślnym zainstalowaniu kapsuł na projekcie jesteśmy gotowi do wdrożenia części kodującej.


Implementacja kodu Przed utworzeniem referencji musisz zrozumieć, czym jest referencja Firebase. Odniesienie Firebase wskazuje lokalizację w Firebase, w której przechowywane są dane. Nawet jeśli utworzysz wiele odniesień, wszystkie mają to samo połączenie. Najpierw będziemy musieli stworzyć referencję FIRDatabaseReference. Odwołanie, które będzie zawierało węzeł główny (artykuły-spożywcze) można wykonać za pomocą następującego kodu –

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

lub możesz również użyć następującego sposobu –

let rootRef = Database.database().reference() let ref = rootRef.child("filmy")

Następnie będziemy musieli utworzyć referencję do elementów potomnych, którymi są mleko i pizza, abyśmy mogli dodać dane wewnątrz tych węzłów.

let movieRefAvengers = ref.child("film1") let movieRefStarWars = ref.child("film2")

Wiemy, że musimy zapisać słownik wewnątrz tych kluczy. W tym celu stworzymy dwa słowniki jeden dla mleka, a drugi dla pizzy.

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

Następnie możemy dodać dictMovieRefAvengers dzięki dictMovieRefGwiezdne wojny do filmRefAvengers dzięki filmRefGwiezdne wojny a te zostaną dodane jako dziecko tych odniesień. Istnieją dwie metody zapisywania danych w bazie danych Firebase: setValue i updateChildValues. Jeśli chcesz wiedzieć, kiedy Twoje dane zostały zatwierdzone, możesz dodać blok uzupełniania. Zarówno setValue, jak i updateChildValues ​​przyjmują opcjonalny blok uzupełniania, który jest wywoływany po zatwierdzeniu zapisu w bazie danych. Ten detektor może być przydatny do śledzenia, które dane zostały zapisane, a które są nadal synchronizowane.

 

// Zapisywanie wartości w węźle movie1 movieRefAvengers.setValue(dictMovieRefAvengers) { (error:Błąd?, ref:DatabaseReference) in if let error = error { print("Nie można zapisać danych: \(błąd).") } else { print("Dane zostały zapisane pomyślnie!") } } // Zapisywanie wartości w węźle pizza movieRefStarWars.setValue(dictMovieRefStarWars) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Dane nie mogły być zapisany: \(błąd).") } else { print("Dane zostały pomyślnie zapisane!") } }

 

Po uruchomieniu powyższego kodu otrzymasz w bazie danych Firebase taką samą strukturę, jaka jest już pokazana.

Podsumowanie

Po wykonaniu powyższej procedury będziesz mógł szybko zapisać dane w bazie danych Firebase.

Przeczytaj także te artykuły: