J'essaie d'utiliser une boucle for et l'API Google Places pour rechercher un tableau d'ID de lieu comme ci-dessous. Le code est la plupart du temps sans erreur, cependant, j'ai des problèmes avec mes fermetures ou l'erreur ci-dessus. Je ne sais pas lequel c'est en ce moment - toute aide serait grandement appréciée!Variable (résultats) capturée par une fermeture avant d'être initialisée
let mexican = ["ChIJM8S9ACvoIogRmzYiLgzlP_g",
"ChIJwSHwoNTpIogRyElYj-kHC14",
"ChIJDWRMYifoIogR7S6U4tryodY",
"ChIJqSVd6yfoIogRmTgBSoO4Z0k",
"ChIJLacWlinoIogRVGYk-bZbGUE",
"ChIJSUC9S2zCIogRTKyiW0q_6tI"]
override func viewDidLoad() {
super.viewDidLoad()
placesClient = GMSPlacesClient.shared()
var place: [String]
var results: Array<Any>
switch index.row
{
case 0 :
place = international
case 1 :
place = american
default :
place = mexican
}
for id in place
{
placesClient.lookUpPlaceID(id, callback: { (result, error) -> Void in
if let error = error {
print("lookup place id query error: \(error.localizedDescription)")
return
}
guard let result = result
else
{
print("No place details for \(id)")
return
}
results.append(result)
})
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
vous devez initialiser les résultats, utilisez cette var résultats = [Tous]() au lieu de var résultats: Array, et voir son comportement –
3stud1ant3