Kegham K.
Kegham K.

Reputation: 1614

Ambiguous use of observe firebase DB

I really cannot get what is wrong?
I'm trying to load some settings data from firebase Settings node. Same code for other nodes in other functions work but this one is ambiguous. Why?

var ref:FIRDatabaseReference!  //Global variable

     override func viewDidLoad() {
        super.viewDidLoad()


        self.mapView.delegate = self

            if CLLocationManager.locationServicesEnabled() {

                locationManager.delegate = self
                locationManager.desiredAccuracy = kCLLocationAccuracyBest
                locationManager.requestWhenInUseAuthorization()
                locationManager.startUpdatingLocation()

              //  monitorRegion()

            } else {

                // Alert to enable location services on iphone first
            }

            ref = FIRDatabase.database().reference(fromURL: "https://*******.firebaseio.com/")
            //The error is here
            ref.child("Settings").child("service_types").observe(.value) { (snapshot) in

            }


        // Do any additional setup after loading the view.
    }

Upvotes: 4

Views: 2189

Answers (3)

gandhi Mena
gandhi Mena

Reputation: 2293

this function for me:

ref.child("Settings").child("service_types").observe(.childAdded, with: { (snapshot) -> Void in
    //your code
}

Upvotes: 0

Wilson
Wilson

Reputation: 9136

You could write your call something like this:

ref
  .child("Settings")
  .child("service_types")
  .observe(.value) { (snapshot: FIRDataSnapshot) in
    // your code
  }

or

ref
  .child("Settings")
  .child("service_types")
  .observe(.value, with: { snapshot in
    // your code
  })

Upvotes: 2

ronatory
ronatory

Reputation: 7324

Change this:

ref.child("Settings").child("service_types").observe(.value) { (snapshot) in

}

to this:

ref.child("Settings").child("service_types").observe(.value, with: { snapshot in

})

See also firebase documentation section Listen for value events

Upvotes: 16

Related Questions