【发布时间】:2018-04-17 04:58:19
【问题描述】:
我有一个问题。我正在尝试在我的应用程序中实现搜索,当用户在搜索栏中输入用户名然后单击搜索时,如果该用户存在,则将其显示在 tableview 中。我现在正在使用一些代码,但我想避免从 firebase 获取所有用户,我只想查询输入到搜索栏的用户名,而不是所有用户。任何事情都有帮助。 我的数据库结构:
我的代码:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
let ref = FIRDatabase.database().reference()
ref.child("users").observeSingleEvent(of: .value, with: { snapshot in
if let useri = snapshot.value as? [String : AnyObject] {
for (_, one) in useri {
let newUser = usera()
if let username = one["Username"] as? String {
if username.lowercased().contains((searchBar.text?.lowercased())!) {
if let name = one["Full Name"] as? String, let uid = one["uid"] as? String {
newUser.name = name
newUser.uid = uid
newUser.username = username
self.users.append(newUser)
}
}
}
}
}
self.tableViewSearchUser.reloadData()
})
}
【问题讨论】: