У меня есть эта структура данных, и я не могу извлечь правильное значение:
users
private
userID
birthday: "birthdayValue"
username: "nathan"
firstName: "Nathan"
etc...
Я использую функцию поиска в своем приложении для поиска пользователей по их имени пользователя в базе данных реального времени firebase:
let reference = Database.database().reference()
if(searchText != ""){
reference.child("users").child("private").queryOrdered(byChild: "username").queryStarting(atValue: searchText).queryEnding(atValue: searchText + "\u{f8ff}").observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.value is NSNull{
//handles errors
return
}
else{
if let user = snapshot.value as? NSDictionary {
for child in user{
print(child.key)
print(child.value)
}
}
else{
//null
}
}
})
в тот момент, когда два оператора печати печатают эти два результата в консоли каждый раз, когда я ищу:
wnszfmHilqNl6PG9khWtWkKUPtF3
{
birthday = 100;
dateCreated = "1579543450313.94";
description = nil;
email = "email@email.com";
firstName = Nathan;
instagramLink = nil;
lastLogin = "1579543450313.988";
lastName = Ellis;
profilePicURL = "url";
twitchLink = nil;
username = nathan;
youtubeLink = nil;
}
Что ожидается, то печатает ID пользователя (ключ) и значение снимка как NSDictonary. Меня интересует только получение имени пользователя, ничего больше. Как мне извлечь имя пользователя из этого снимка Firebase, чтобы я мог добавить его имя пользователя в виде строки в массив для моего контроллера поиска?
Очевидно, что это должно быть Dynami c, поскольку ID пользователя всегда будет отличаться .
Нужно ли мне менять модель данных?