Wie kann ich in Swift Language (iOS) Daten von Firebase abrufen?

Ziele des Blogs

Nach dem Lesen dieses Blogs werden wir in der Lage sein, den Vorgang zum Abrufen von Daten aus Firebase zu verstehen. Dieser Prozess umfasst die Installation des Firebase SDK und die Implementierung von Code zum Abrufen von Daten aus Firebase.

Die Anforderungen:

Wir müssen schnellen Code schreiben, um die Daten von Firebase abzurufen. Dazu müssen wir zuerst das Firebase-Projekt erstellen. Führen Sie die folgenden Schritte aus, um das Firebase-Projekt zu erstellen:

1. Gehe zu https://console.firebase.google.com

2. Dann müssen Sie ein Firebase-Projekt erstellen, indem Sie auf "Projekt hinzufügen" Taste

add-project: Wie rufe ich Daten aus Firebase in Swift Language (iOS) ab?

3. Sie benötigen die Datei GoogleService-Info.plist für iOS SDK, da diese Datei die Details des Firebase-Projekts enthält, die von Firebase SDK verwendet werden

4. Fügen Sie dann die plist-Datei in das Projekt ein

5. Fügen Sie den folgenden Code vor der return-Anweisung in der Anwendung ein(_: didFinishLaunchingWithOptions 🙂 in der Datei AppDelegate.swift

FirebaseApp.configure ()

6. Dann geh zu "Datenbank"Option aus dem linken Menü.

7. Wählen "Echtzeit-Datenbank"und das ist die Datenbank für das Firebase – Projekt. Alle Daten, die in diesem Verzeichnis gespeichert oder von dort abgerufen werden, stammen von diesem Verzeichnis.

8. Das Firebase-Setup ist abgeschlossen. Jetzt müssen Sie das Firebase-SDK im Handumdrehen herunterladen. Dazu müssen Sie die folgenden Pods installieren.

  1. Pod 'Firebase / Core'
  2. Pod 'Firebase / Database'

Angenommen, Sie haben die folgenden Daten in der angegebenen Struktur in der Firebase-Datenbank:

// Die Wurzel des Baumes {// Lebensmittel "Lebensmittel": {// Lebensmittel / Milch "Milch": {// Lebensmittel / Milch / Name "Name": "Milch", / / grocery-items / milk / addedByUser "addedByUser": "David"}, "pizza": {"name": "Pizza", "addedByUser": "Alice"},}}

Nach erfolgreicher Installation der Pods können wir mit dem Codierungsteil fortfahren.

Code-Implementierung

Alle Datenpunkte / Knoten werden verwendet, um auf Daten aus der Firebase-Datenbank zuzugreifen. Wir erstellen Verweise auf die Knoten und rufen dann Daten von diesem Knoten ab. Mit anderen Worten, eine Firebase-Referenz verweist auf einen Ort in Firebase, an dem Daten gespeichert sind. Zuerst müssen wir einen Verweis auf den Wurzelknoten der Datenbankstruktur erstellen –

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

oder der folgende Weg kann verwendet werden –

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

Der Verweis auf den untergeordneten Knoten "milk" kann mit dem folgenden Code erstellt werden:

let milkRef = ref.child ("milk")

Der asynchrone Listener kann an eine Referenz angehängt werden, um Daten von Firebase mit abzurufen beobachte (_: mit 🙂 Methode. Mit dem folgenden Code werden die Daten abgerufen und die Datenänderungen in der Datenbank überwacht. Sobald Änderungen in der Datenbank vorgenommen werden, wird der neue Snapshot des Knotens / der Referenz abgerufen und die aktualisierten Daten werden abgerufen, sobald Änderungen in der Datenbank vorgenommen werden.

ref.observe (.value, with: {snapshot in // Dies ist die Momentaufnahme der Daten in der Firebase-Datenbank // Um ​​den Wert aus der Momentaufnahme zu erhalten, verwenden wir snapshot.value print (snapshot.value as Any) })

Anschließend können die Snapshot-Werte analysiert und in der App verwendet werden. Ein großer Vorteil der Verwendung beobachten Methode vorbei observSingleEvent Die Methode besteht darin, dass Sie die Funktion nicht immer wieder aufrufen müssen, wenn die aktualisierten Daten aus der Datenbank abgerufen werden, sobald ein Wert in der Datenbank geändert wird.

Zusammenfassung

Jetzt sollten Sie in der Lage sein, die Daten mit dem Firebase SDK in kürzester Zeit aus der Firebase-Datenbank abzurufen.


Wie entferne ich zusätzlichen Platz zwischen der Navigationsleiste und der Bildlaufansicht?

Ziele des Blogs

Nachdem wir diesen Blog gelesen haben, werden wir in der Lage sein, den Grund für den zusätzlichen Abstand zwischen der oberen Navigationsleiste und der Bildlaufansicht in der iOS-App in den Versionen iOS 7 bis iOS 10 zu verstehen.

Problem Statement

Wenn wir eine Bildlaufansicht oder Tabellenansicht (eine beliebige Bildlaufansicht) in einem Ansichtscontroller hinzufügen, der oben eine Navigationsleiste enthält, stehen wir vor einem häufigen Problem, nämlich etwas zusätzlichem Platz zwischen der oberen Navigationsleiste und der Bildlaufansicht.

 

Warum die aktuelle Ausgabe da ist

Wenn wir von iOS 7 bis iOS 10 eine Navigationsleiste über einem beliebigen ViewController hinzufügen, bietet uns Xcode eine Option, um die Navigationsleiste durchscheinend zu machen. Damit wir durch die Navigationsleiste sehen können und das Scrollen der Seite durch die Navigationsleiste gesehen werden kann. Der Grund für das Problem ist nun, dass, wenn eine Bildlaufansicht im ViewController hinzugefügt wird und die Navigationsleiste festgelegt und durchscheinend ist, die ScrollView einen Rand von der Hauptansicht für die Navigationsleiste lässt. Aber die Navigationsleiste wurde zur Laufzeit hinzugefügt und verschiebt die Hauptansicht nach unten, sodass die Navigationsleiste oben passt. In diesem Fall wird die Ansicht um die Navigationsleiste nach unten verschoben und die Bildlaufansicht lässt einen Rand für die Navigationsleiste. Hier beobachten wir, dass der zusätzliche Abstand zweimal hinzugefügt wurde. Dies war der einzige Grund, warum wir zusätzlichen Platz zwischen der Navigationsleiste und der Bildlaufansicht sehen.

Verfahren zur Lösung des Problems-

Es gibt zwei Möglichkeiten, das Problem zu lösen. In beiden Fällen schränken wir die Bildlaufansicht ein, um einen zusätzlichen Spielraum für die Navigationsleiste zu lassen.

1. Wir können die Translucent-Option für die Navigationsleiste in Xcode auf „False“ setzen � Dadurch wird die Navigationsleiste undurchsichtig und die Bildlaufansicht ist nicht erforderlich, um unter der Navigationsleiste zu scrollen. Die Scroll-Ansicht lässt also keinen Platz für die Navigationsleiste. Im folgenden GIF können Sie sehen, dass sich die Layoutbeschränkung der Ansicht ändert, wenn wir die Eigenschaft „Transluzent“ der Navigationsleiste aktivieren/deaktivieren.

 

 

2. Wir können die Eigenschaft „Adjust Scroll View Insets“ des ViewControllers deaktivieren. � Dadurch wird die Bildlaufansicht eingeschränkt, um oben zusätzlichen Platz für die Navigationsleiste zu lassen.

 

Zusammenfassung

Nachdem Sie das obige Verfahren befolgt haben, können Sie den zusätzlichen Abstand zwischen der Navigationsleiste und der Bildlaufansicht entfernen.

Wie speichere ich Daten in Firebase in Swift Language (iOS)?

Ziele des Blogs

Nachdem Sie diesen Blog gelesen haben, können wir das Firebase SDK in Ihrem Projekt installieren und Code schreiben, um Daten zusammen mit der Erstellung des Firebase-Projekts in der Firebase-Datenbank zu speichern.

Vorteile der Verwendung der Firebase-Datenbank

Es spielt keine Rolle, ob Sie an einem kleinen Projekt arbeiten oder Ihre Augen auf ein großes gerichtet sind, Sie benötigen eine Datenbank, um all Ihre Informationen zu speichern. Wenn Sie an einem kleinen Projekt arbeiten, können Sie diese Firebase-Datenbank verwenden. Hier ist die Liste der Vorteile der Verwendung der Firebase-Datenbank: 1. Hilft Ihnen, die Daten Ihres Geschäfts mühelos zu verwalten. 2. Wenn sich Daten jederzeit ändern, erhalten alle angeschlossenen Geräte die aktualisierten Daten in ihren Geräten. 3. Die Firebase-Echtzeitdatenbank kann kostenlos verwendet werden. 4. Zeitsparend. 5. Einfach zu bedienende und plattformübergreifende Unterstützung für SDK. 6. Nützlich für Chat-Apps, Push-Benachrichtigungen, Newsfeed usw.

Die Anforderungen:

Wir müssen Swift-Code schreiben, um die Daten in Firebase zu speichern. Dazu müssen wir zuerst das Firebase-Projekt erstellen. Befolgen Sie die unten angegebenen Schritte, um das Firebase-Projekt zu erstellen – 1. Gehen Sie zu https://console.firebase.google.com

2. Klicken Sie auf “Projekt hinzufügen” Taste

 

3. Erstellen Sie dann eine iOS-App und laden Sie die Datei GoogleService-Info.plist herunter. 4. Verschieben Sie dann die Plist-Datei in das Projekt. 5. Öffnen Sie anschließend in Xcode AppDelegate.swift und fügen Sie diesen Code vor der return-Anweisung in application(_:didFinishLaunchingWithOptions:)

FirebaseApp.configure()

6.Klicken Sie dann auf “Datenbank” Option aus dem linken Menü.

 

7. Wählen “Echtzeit-Datenbank“, dort finden Sie die Datenbank-URL, die Sie im Code verwenden können, um die Daten aus der Datenbank zu holen. Im Allgemeinen werden Sie diese URL nicht benötigen, da wir sie verwenden GoogleServices-Info.plist Datei und die Datenbank-URL bereits in dieser Datei verfügbar ist, müssen wir nur die Firebase initialisieren. 8. Die Einrichtung von Firebase ist abgeschlossen. Jetzt müssen Sie das Firebase SDK schnell herunterladen. Dazu müssen Sie die folgenden Pods installieren. 1. Schote ‘Firebase/Kern‘ 2. Schote ‘Firebase/Datenbank‘ Angenommen, wir haben derzeit keine Daten in der Firebase-Datenbank und möchten die folgenden Daten im angegebenen Format in der Datenbank speichern� –

// Die Wurzel des Baums { "movies": [ "movie1": { "name": "Avengers", "addedByUser": "John" }, "movie2": { "name": "Star Wars", " addedByUser": "Jane" }, ] }

Nach erfolgreicher Installation der Pods im Projekt sind wir bereit, den Codierungsteil zu implementieren.


Codeimplementierung Bevor Sie die Referenzen erstellen, müssen Sie verstehen, was eine Firebase-Referenz ist. Eine Firebase-Referenz verweist auf einen Speicherort in Firebase, an dem Daten gespeichert werden. Selbst wenn Sie mehrere Referenzen erstellen, nutzen sie alle dieselbe Verbindung. Zuerst müssen wir eine Referenz der FIRDatabaseReference erstellen. Eine Referenz, die den Stammknoten (Lebensmittelartikel) enthält, kann mit dem folgenden Code erstellt werden:

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

oder Sie können auch den folgenden Weg verwenden –

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

Dann müssen wir einen Verweis auf die untergeordneten Elemente Milch und Pizza erstellen, damit wir die Daten in diesen Knoten hinzufügen können.

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

Wir wissen, dass wir das Wörterbuch in diesen Schlüsseln speichern müssen. Dafür erstellen wir zwei Wörterbücher, eines für Milch und eines für Pizza.

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

Danach können wir die hinzufügen dictMovieRefAvengers und dictMovieRefStarWars in die movieRefAvengers und movieRefStarWars und diese werden als untergeordnete Elemente dieser Referenzen hinzugefügt. Es gibt zwei Methoden zum Speichern von Daten in der Firebase-Datenbank: setValue und updateChildValues. Wenn Sie wissen möchten, wann Ihre Daten übertragen wurden, können Sie einen Vervollständigungsblock hinzufügen. Sowohl setValue als auch updateChildValues ​​verwenden einen optionalen Abschlussblock, der aufgerufen wird, wenn der Schreibvorgang an die Datenbank übertragen wurde. Dieser Listener kann nützlich sein, um zu verfolgen, welche Daten gespeichert wurden und welche Daten noch synchronisiert werden.

 

// Speichern der Werte im movie1-Knoten movieRefAvengers.setValue(dictMovieRefAvengers) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Daten konnten nicht gespeichert werden: \(error).") } else { print("Daten erfolgreich gespeichert!") } } // Speichern der Werte im Pizzaknoten movieRefStarWars.setValue(dictMovieRefStarWars) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Daten konnten nicht werden gespeichert: \(Fehler).") } else { print("Daten erfolgreich gespeichert!") } }

 

Nachdem Sie den oben gezeigten Code ausgeführt haben, erhalten Sie dieselbe Struktur in der Firebase-Datenbank, die bereits gezeigt wird.

Zusammenfassung

Nachdem Sie das obige Verfahren befolgt haben, können Sie die Daten schnell in der Firebase-Datenbank speichern.

Lesen Sie auch diese Artikel:

Werden die europäischen Smartphone-Hersteller Google in Kartellfragen führen?

Wir alle sind uns des Android Antitrust-Kampfes zwischen Google und der Europäischen Union bewusst. Google reagierte auf die Geldbuße, die ihnen von der EU auferlegt wurde, indem es den Smartphone-Herstellern in Europa eine Lizenzgebühr auferlegte. Am Dienstag gab 16th von Oct 2018 bekannt, dass eine Lizenzgebühr für die Gerätehersteller für den Zugriff auf den Google Play Store zur Verfügung stehen wird.

Was kann eine Lizenzgebühr für Google tun?

Die Die Europäische Kommission hat Google mit $ 5B für Android Antitrust Abuse getroffen im Juli von 18th in diesem Jahr. Google wies sofort alle Vorwürfe der Marktbeherrschung über sie zurück und zitierte: "Android hat immer mehr Auswahlmöglichkeiten für alle bereitgestellt, nicht weniger". Das Unternehmen behauptete, dass die Plattform ein Grund für den Lebensunterhalt der europäischen Entwickler sei. Und jetzt, wo Google seinen Applaus gespielt hat, die Nutzung von Android-Apps in Europa anzuklagen, stellt sich die Frage: Ist es ein intellektueller Schachzug? Es besteht eine marginale Möglichkeit, dass das Unternehmen mit diesem Versuch die Such- und Browserbranche, wie sie sie heute hat, verlieren könnte. Diese Entscheidung von Google hat auch anderen Geräteherstellern die Türen geöffnet, um eigene Läden zu entwickeln. Zum Beispiel könnte Samsung ihre Galaxy-Apps in die Telefone bringen, anstatt für die bezahlte Chrome- und Google-Suche zu gehen. Jetzt, in der nächsten Zeit, könnten wir sogar die Smartphones ohne Google Apps erleben. Dies könnte das Unternehmen mit mehr Konkurrenten und steigenden Keulen verlassen.

Schlussargumente

Die Google hatte zuvor gegen die Geldbuße Berufung eingelegt vor dem Europäischen Gerichtshof am 9th dieses Monats und jetzt haben sie diese neueste Lizenzpolitik entwickelt. Sieht so aus, als hätten sie wahrgenommen, dass ihre Attraktivität nicht zu einem Ende kommt. Also, das kann nicht so gesagt werden, jetzt wird diese Aktion der Tech-Biggie ihr Gleichgewicht für immer wieder gut machen oder sie in heiße Gewässer bringen. Das wird nur die Zeit erzählen.

Google fordert EU $ 5B Strafe gegenüber Android Antitrust Case

In diesem Jahr, im Juli, Google wurde von der Europäischen Kommission wegen Android-Missbrauch mit der $ 5B-Strafe belegt. Jetzt, nach drei Monaten, beschloss der Tech-Riese, zu erhöhen

Warum wurde Google vor drei Monaten angeklagt?

Google wurde wegen der Vorwürfe, die Macht zur Schaffung ihrer marktbeherrschenden Stellung missbraucht zu haben, mit Geldstrafen belegt. Google wurde beschuldigt, die Nutzer zu seiner Suchmaschine zu drängen, um die Konkurrenz zu schwächen. EC sagte, dass das Unternehmen den Herstellern von Android-Geräten für sehr lange Zeit illegale Beschränkungen auferlegt habe, um seine beherrschende Stellung bei der Suche zu festigen. Es wurde sogar damals gesagt, dass die Firma verschiedene illegale Geschäfte mit verschiedenen Android-Smartphone-Herstellern gemacht hat, indem sie sie bezahlt hat. Aber die Suchmaschine hat immer alle Vorwürfe zurückgewiesen. Google-Sprecher Al Verney zitierte sogar: "Android hat immer mehr Auswahl für alle bereitgestellt, nicht weniger“.? Indian origin Google CEO urged that the company has always allowed the developers to make a living through the platform.

Was macht Google jetzt?

Am Dienstag 9th Oktober 2018, sagte Google, "Wir haben jetzt beim Gericht der Europäischen Union Beschwerde gegen die Android-Entscheidung der EG eingereicht"Jetzt greift Google gegen diese Geldstrafe zurück, indem es vor dem Europäischen Gerichtshof Berufung einlegt.

Gedanken zum Schluss

Dieser Kampf zwischen der Europäischen Kommission und Google scheint nirgendwo hin zu kommen