In firebase, how to remove all observers, not observers for a specific ref

I am creating a firebase application with signOut. My question is:

   class func signOut(callback:((error:NSError?)->Void)) {
        let ref = Firebase(url:firebaseHost)
        ref.unauth()
        ref.removeAllObservers()
        let err = UserCredentials.delete()
        callback(error:err)
    }

delete only observers for link to root? I would like to remove all the watchers that were installed in other parts of the application for several different requests.

Should I allow ref ... and recreate all of these links to remove observers?

Doesn't disconnect and remove observers? Is there an easy way to disconnect jusa for a client?

+4
source share
2 answers

removeAllObservers var, . firebase, . " ".

+4

Swift 3 firebase .

, Firebase:

var ref: FIRDatabaseReference!

viewdidload :

 override func viewDidLoad() {
    super.viewDidLoad()

    self.ref = FIRDatabase.database().reference()
    self.ref.child("child").observeSingleEvent(of: .value, with: { (snapshot) -> Void in

                // observer code
            })
    // other code
 }

ViewController, deinitializer

deinit {
    self.ref.child("child").removeAllObservers()
}

, deinit:

, . deinit, , intializers init. Deinitializers .

UInt , :

// Assign the Uint to your var "handle"
self.handle = self.ref.child("child").observeSingleEvent(of: .value, with: { (snapshot) -> Void in


            })
// Use this to remove the observer when you are done
self.ref.child("child").removeObserver(withHandle: self.handle)

** , , .

self.ref.removeAllObservers()

**

, , ... , .

+1

All Articles