Hi guys,
retrieve Data from a single Document works fine, but now I want to have a Textfield where the User can search for a single Document inside my Firestore Database.
FireStoreManager.swift:
import Firebase
import SwiftUIclass FirestoreManager: ObservableObject {
@Published var name: String = “”
@Published var elevation: String = “”
@Published var runway: String = “”
@Published var searchairport: String = “”init() { fetchRestaurant() } func fetchRestaurant() { let db = Firestore.firestore() let docRef = db.collection("Airports").document(searchairport) // variable for searching the airport ??? docRef.getDocument { (document, error) in guard error == nil else { print("error", error ?? "") return } if let document = document, document.exists { let data = document.data() if let data = data { print("data", data) self.name = data["name"] as? String ?? "" self.elevation = data["elevation"] as? String ?? "" self.runway = data["runway"] as? String ?? "" } } } }
}
ContentView looks like this:
struct ContentView: View {
@EnvironmentObject var firestoreManager: FirestoreManagervar body: some View { TextField("Enter Airportname", text: $searchairport ) Text("ICAO: \(firestoreManager.name)") Text("Elevation: \(firestoreManager.elevation)") Text("Runway: \(firestoreManager.runway)") .padding() }
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.environmentObject(FirestoreManager())
}
}
My Firestore looks like this