У меня есть база данных Firebase, которая смоделирована как:
: users
: some-random-id-1
- username:"user1"
- email:"email1@gmail.com"
: some-random-id-2
- username:"user2"
- email:"email2@gmail.com"
Я пытаюсь перебрать всех пользователей в словаре данных и добавить имя пользователя в список в файле, который будет использоваться для других целей. Я создал строковый массив (список пользователей) и в viewdidload () написал следующий код:
ref = Database.database().reference()
ref?.observe(.value, with: { (snapshot) in
let dataDict = snapshot.value as! NSDictionary
let x = dataDict["users"] as! NSDictionary
print(x)
print("--------")
for user in x{
let y = user.value as? [String: String]
let z = y!["username"]
print(z)
self.userslist.append(z!)
print(self.userslist)
print("NEXT")
}
})
print(self.userslist)
Внутри скобок снимка, когда я печатаю self.userslist, я вижу, что каждый элемент добавляется, но когда я в последний раз печатаю его вне скобок, он показывает его как пустой массив. Я думаю, что элементы добавляются только в области этих скобок, поэтому я не могу получить доступ к заполненному массиву в другом месте. Как мне обойти это, чтобы я мог использовать данные, которые я добавил?