在我的应用中,我有一个UISearchBar,可以返回Google Places API的结果。当我点击结果时,我将place.id
(给定一个新的变量名placeId
)传递给第二个视图控制器,我想在那里进行检查。
对于这个应用程序,我手动将一个A / B值分配给Firebase数据库中的多个位置,我希望能够检查我点击的搜索结果是否具有值“A”或值“B”基于它的place.id
这是我的代码:
let productRef = rootRef.child("id")
productRef.observeSingleEvent(of: .value, with: { (snapshot) in
if(snapshot.exists()){
let placeId = snapshot.value as? String
if(self.IDLabel == placeId){
print("A")
}
}
}) { (error) in
print(error.localizedDescription)
}
我是否在正确的轨道上?我应该从哪里开始检查我点击的结果的place.id
在Firebase中的值是“A”还是“B”?
答案 0 :(得分:0)
我发现我在if语句中引用了错误的变量。 self.placeId
是视图控制器中其他位置的空变量。当我将其更改为IDLabel
(我想检查的正确变量)时,它完美无缺。
答案 1 :(得分:0)
您将数据存储为"键,值"配对,但只检索密钥。最好通过设置Query类来使用equalto()函数。 Firebase文档中的详细信息 - > https://firebase.google.com/docs/database/web/lists-of-data#filtering_data