检查零基准Firebase Swift

时间:2019-02-13 08:12:14

标签: swift firebase

我有一个从引用中获取值的应用程序。我现在遇到的问题有时是引用可能不存在,如果不存在引用,则用户只是处于空闲状态。但是,我不知道如何实现此任务,因为火力基地可能不存在特定的参考。

下面是我用于检查参考数据的代码

func refreshActiveTrip() -> Observable<Trip> {

        guard let trip = getCurrentTrip()  else {
            return Observable.error(RxError.noElements)
        }

        tripRef = Database.database().reference(forTransportChampionId: (getChampion()?.id)!, tripId: trip.id!)
        return Observable<Trip>.create({ (observer) -> Disposable in

            let disposable = Disposables.create {
                self.tripRef?.removeAllObservers()
            }

            self.tripRef?.observe(.value, with: { (snapshot) in
                if let data = snapshot.value as? [String: AnyObject] {

                    let trip = Trip(dictionary: data as NSDictionary)

                    self.saveCurrentTrip(trip)

                    if !disposable.isDisposed {
                        observer.onNext(trip)

                    }

                }
            })
            return disposable
        })

    }

tripRef可能为空,即不存在,如何检查此值和一个空闲值

1 个答案:

答案 0 :(得分:0)

如何使用exists()

FIRDatabase.database().reference()

ref.child("the_path").observeSingleEvent(of: .value, with: { (snapshot) in
    if snapshot.exists(){
        print("It exists!!")
    }else{
        print("Nope, doesn't exist!")
    }
}) 

Firebase Doc Reference

相关问题