J'ai le code sans erreur suivant et ne semble pas utiliser les informations fournies pour mon tableau de résultats. Après avoir joué, je peux imprimer chaque emplacement d'entreprise indiqué, mais je ne peux pas ajouter/utiliser le tableau destiné à contenir cette information. Je ne comprends pas pourquoi chaque emplacement s'imprime mais mon tableau apparaît vide.La requête API Google Places renvoie un tableau vide mais imprime toutes les réponses - aucune erreur
Je présente mes excuses pour l'ensemble de mon code, mais j'ai passé des heures à essayer de corriger mon problème ...
import UIKit
import GooglePlaces
class FoodTwo: UITableViewController {
var placesClient: GMSPlacesClient!
let international: [String] = ["ChIJAQDABX7CIogRIEY3k6r7R-g",
"ChIJqX3q1IbCIogRFcuI05IPNDU",
"ChIJAQDABX7CIogRY2MA6XVas8E"]
let american: [String] = ["ChIJkX9tTSvoIogROXkxd0gpg3s", "ChIJy7lUZCfoIogRVBuB9jWKHUk", "ChIJyzCZMiroIogRkuMavnKsA0w", "ChIJbYvWJ5jCIogRxh0VQA_yD0I", "ChIJa4Sks23CIogRpRod4v5GEN8", "ChIJxVpGsNbpIogRG5HIAKbNyDU", "ChIJ1W32UyvoIogRyp_Rdxn6f8I", "ChIJwTht4ifoIogRsuXdEOrKGMk", "ChIJ6UXEgNPpIogR4Q3ZAAWQQSI", "ChIJUZVAjdTpIogRpyca26a6D8o", "ChIJ6-h6_EctIIgRO1kypozaGGs", "ChIJK8NGam7CIogRlzU1TKeSjVI", "ChIJ7Xxh1m3CIogRZ_yabslUzd8", "ChIJ_dxSGJ7CIogRcYwJhjAm7TQ"]
// more arrays here - deleted to reduce scrolling//
var results = [GMSPlace]()
var index: IndexPath!
override func viewDidLoad() {
super.viewDidLoad()
placesClient = GMSPlacesClient.shared()
var place: [String]
switch index.row
{
case 0 :
place = international
case 1 :
place = american
case 2 :
place = asian
case 3 :
place = bakery
case 4 :
place = bar
case 5 :
place = indian
case 6 :
place = italian
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
}
self.results.append(result)
})
OperationQueue.main.addOperation({() -> Void in
self.tableView.reloadData()
})
}
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return results.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "FCT") as! FoodCellTwo
let each = results[indexPath.row]
cell.nameLabel.text = each.name
return cell
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Une autre parenthèse fermante était nécessaire], mais c'était la réponse! – jonpeter