Я пытаюсь получить все имена пользователей в моей базе данных, но nameArray содержит только значения, находящиеся внутри этой функции, как я могу это исправить?
DataService.instance.getAllUserNamesPlease { (returnedNamesArray) in
self.nameArray = returnedNamesArray
}
for userName in nameArray {
if(userName.lowercased() == name!.lowercased()){
self.userNameTaken = true
self.progressView.progress = Float(progress / self.nameArray.count)
progress += 1/self.nameArray.count
break
}
}
nameArray пуст в этом цикле
func getAllUserNamesPlease(handler: @escaping (_ userNames: [String]) -> ()){
REF_USERS.observeSingleEvent(of: .value) { (userNameSnapshot) in
guard let userNameSnapshot = userNameSnapshot.children.allObjects as? [DataSnapshot] else {return}
var namesArray = [String]()
for names in userNameSnapshot {
let name = names.childSnapshot(forPath: "userName").value as? String ?? "No Name"
namesArray.append(name)
}
handler(namesArray)
}
}