JSON et Swift
Bonsoir,
Pour parser des données JSON, j'utilise le code donné dans la réponse ci-dessous :
http://stackoverflow.com/questions/31805045/how-to-parse-json-in-swift-2-0-using-nsurlsession
Cependant je n'arrive pas à les affecter à une variable afin de remplir une TableView !
Après le print(json) qui fonctionne bien (je vois bien les données)
j'essaye :
self.mDataArray = json["results"] as! NSArray
mDataArray est déclaré comme ceci :
class AfficherDataController: UIViewController {
var mDataArray = NSArray()
dans ViewDidLoad :
self.jsonParser
self.tableView.reloadData()
mais rien !
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il va falloir un peu plus de code.
Car plusieurs problèmes peuvent avoir lieu :
-Tu as une méthode de WS asynchrone: problème lors de l'affectation, ou reloadData appelé à un mauvais moment.
-json["results"] est en réalité en Dictionnaire et pas un Array
-json["results"] n'est pas ce qu'il faut appeler sur json. problème d'analyse de ta réponse JSON.
Merci, voici le code complet (j'ai juste supprimé l'url car elle contient une clé api)
Après self.mArray = json["results"] as! NSMutableArray, récupère la main queue et fais un reloadData.
- Grillé par Larme -
Je ne vois pas bien où les données sont renseignées dans 'myArray'. De plus j'essaierai de faire appel à "reloadData" une fois les données récupérées (après le 'print(son)' pour faire un test par exemple).
Si tu enchaà®nes les appels à 'self.jsonParser' puis 'self.tableView.reloadData()' il y a de fortes chances que les données n'aient pas eu le temps d'être rapatriées.
Effectivement ça fonctionne mieux comme ça,
merci à vous.