2017-10-10 249 views
0

查询我有这样的数据库结构中检索数据:从火力地堡的斯威夫特

Users 
    user1 
     username : username1 
     otherdata : otherdata1 

    user2 
     username : username2 
     otherdate : otherdata2 

我正在寻找的是在实现代码如下,以显示我的用户的用户名,当一个用户使用一个UISearchBar顶部的表视图。我设法打印使用此代码的每个用户的数据:`

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { 
    ref = Database.database().reference() 
    let strSearch = searchBar.text 
    ref.child("Users").queryOrdered(byChild: "username").queryStarting(atValue: strSearch).queryEnding(atValue: strSearch! + "\u{f8ff}").observeSingleEvent(of: .value, with: { (snapshot) in 
     for snaps in snapshot.children { 
      print(snaps) 
     } 
    }) { (err) in 
     print(err) 
    } 
} 

但我坚持,因为我不知道如何检索只为每个用户的用户名。有人能告诉我该怎么做吗?

回答

1
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { 
     ref = Database.database().reference() 
     let strSearch = searchBar.text 
     ref.child("Users").queryOrdered(byChild: "username").queryStarting(atValue: strSearch).queryEnding(atValue: strSearch! + "\u{f8ff}").observeSingleEvent(of: .value, with: { (snapshot) in 
      var fetchedList = snapshot.value as! [AnyObject] 
      for obj in fetchedList { 
      print(obj["username"] as? String) 
      print(obj["otherdata"] as? String) 
     } 

     }) { (err) in 
      print(err) 
     } 
    } 

你会得到这样的

[{username : username1}, {username : username2}] 
+0

响应其实我并没有说我有otherdata为每一个用户,我编辑我的职务,并感谢您的答案,但我仍然不知道如何打印每个用户名,我做一个循环在fetchedList,然后我不知道该怎么办 – user8660271

+0

使用这个也会得到其他数据: [{username:username1,otherdata:otherdata1},{username:username2 ,otherdata:otherdata2}] –

+0

只需尝试使用我的回答并查看您的回复。 –

相关问题