Bonjour,
j’aimerai pouvoir return une chaine de caractère obtenue dans une closure afin de créer la cellule de ma tableview. Cependant, à l’intérieur de ma closure, ca n’a pas l’air de modifier ma variable cell.
Pouvez-vous m’éclairer svp 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "first_Cell", for: indexPath)
let userID = (AccessToken.current?.userId)!
var ref: DatabaseReference!
ref = Database.database().reference()
ref.ref.child("server").child("user").child("\(userID)").child("List").child("\(indexPath.row)").observeSingleEvent(of: .value, with: { (snapshot) in
// Get result value
let value = snapshot.value as? String
cell.textLabel?.text = value
})
return cell
}
Si tu affiches dans les logs la variable value de la closure, qu’est-ce que ça donne ?
Hello,
Tout ton appel à Firebase ne devrait pas être dans la création de ta tableview mais à l’extérieur.
Il vaut mieux que tu remplisses un tableau avec les données que tu récupères et ensuite tu fais des appels en faisant array[indexPath.row]
.
Merci beaucoup à vous deux je vais essayer ça 
Dans la closure ca m’affiche bien la donnée recherchée, et en-dehors ca ne m’affiche rien 
Peux-tu confirmer que ta cellule est une UITableViewCell, rien de plus classique ?
Oui oui bien sur elle est même en Basic
À-tu utilisé le mot clé « self » pour modifier un paramètre externe il me semble que c’est obligatoire dans une closure
Qu’as-tu mis dans la fonction numberOfRowsInSection ?
Ou, plus simple, pourrais-tu nous donner “tout” le code de ta classe, surtout la partie concernant la tableView ?
Je ne connais pas Firebase mais je suppose que le chargement est asynchrone ? Donc cette closure serait appelée bien après que tu aies retourné ta cellule
Merci à tous pour vos réponses.
Oui je viens de lire sur un forum que le chargement était asynchrone 
comment puis-je pallier ça ?
Hello,
Comme je te l’ai dit, il faut que tu charges tes données à l’extérieur de la création de ta TableView.
J’utilise Firebase dans mon projet depuis quelques mois, j’ai toujours fait comme ça et aucun souci pour peupler ma TableView.
D’ailleurs, je ne sais pas où tu as trouvé ce code mais ce n’est pas dans les requirements exposés par Firebase sur leur site.
Partage sinon l’intégralité de ton projet et je te fais voir où il faut que tu fasses les modifications.