Проверьте это:
func searchQueryUsers(text: String, completion: @escaping (_ userNames: [String]) -> Void) {
var userNames: [String] = []
REF_USERS.queryOrdered(byChild: "username").queryStarting(atValue: text).observeSingleEvent(of: .value, with: { snapshot in
for item in snapshot.children {
guard let item = item as? DataSnapshot else {
break
}
//"name" is a key for name in FirebaseDatabese model
if let dict = item.value as? [String: Any], let name = dict["name"] as? String {
userNames.append(name)
}
}
completion(userNames)
})
}
В результате у вас будет список имен.
Но если вам нужно только одно имя, используйте:
let nameOfFirstUser: String = userNames.first
Почему лучше получить полный список имен?
Например, в вашей базе данных могут быть такие имена: Майк, Мишель ...
И если вы введете «Mi» в строке поиска, имя и второе имя будут соответствовать вашему поисковому запросу.