我有一个从引用中获取值的应用程序。我现在遇到的问题有时是引用可能不存在,如果不存在引用,则用户只是处于空闲状态。但是,我不知道如何实现此任务,因为火力基地可能不存在特定的参考。
下面是我用于检查参考数据的代码
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
可能为空,即不存在,如何检查此值和一个空闲值
答案 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!")
}
})