2017-08-15 96 views
0

我想創建一個搜索欄,如果我找到搜索詞,我想要獲取包含該詞在firebase上的數據。如何在Firebase數據庫中搜索?

我已經實現了一個搜索欄,並且正在尋找我要寫在func searchBarSearchButtonClicked(_ searchBar: UISearchBar)中的內容。

到目前爲止,我有一個想法。 它使用「for」和「if」來運行這樣的代碼來獲取數據。

for i in (~) { 
    let defaultPlace = DBRef.child("posts/\(i)/age") 
    defaultPlace.observe(.value) { (snap: FIRDataSnapshot) in 
     if ~ { 
      self.displayAge.text = (snap.value! as AnyObject).description 
     } 
    } 
} 

(↑這只是一個例子。「〜」是後話)

但我不知道這是否是真正的最佳途徑。

+0

https://stackoverflow.com/questions/38618953/how-to-do-a-simple-search -in-string-in-firebase-database雖然它適用於Android,但您可以將其應用於iOS。 –

+0

謝謝你的評論! – Yutaro

回答

0

的iOS:

queryOrdered(byChild: "{field name}").queryStarting(atValue: "{value}")

替換{字段名稱}和{}值

+0

謝謝你的回答!這可能是一個基本問題,但{字段名稱}是什麼?我應該爲{value}輸入一個搜索詞嗎? – Yutaro

+0

「字段名稱」是您要搜索的字段。 'value'是用戶在搜索欄輸入的文字 – Codus

+0

謝謝!但如果我寫結果= DBRef.queryOrdered(byChild:「title」)。queryStarting(atValue:searchtext) print(result),它只返回(/ { i = tite; sp =「\ U9752」; })。這是錯的嗎? – Yutaro