Aguarde o Firebase carregar antes de retornar de uma função
Eu tenho uma função simples de carregar dados do Firebase.
func loadFromFireBase() -> Array<Song>? {
var songArray:Array<Song> = []
ref.observe(.value, with: { snapshot in
//Load songArray
})
if songArray.isEmpty {
return nil
}
return songArray
}
Atualmente esta função retornanil
sempre, mesmo que haja dados para carregar. Ele faz isso porque nunca chega ao bloco de conclusão onde ele carrega a matriz antes que a função retorne. Estou procurando uma maneira de fazer com que a função retorne apenas depois que o bloco de conclusão foi chamado, mas não posso colocar retorno no bloco de conclusão.