Je suis assez nouveau avec la gestion des requêtes et des réponses dans swift .. C'est le code avec lequel je suis coincé. J'obtiens la valeur du webservice dans dataArray mais ne charge pas dans la tableview. S'il vous plaît quelqu'un d'aide.Je ne reçois pas de données dans UITableView du service Web
import UIKit
import Foundation
import Alamofire
import SwiftyJSON
class AddOnsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var dataArray = [AnyObject]()
var addOnsURL = "http://econstrademosite.com/food_delivery/?****************"
override func viewDidLoad() {
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
self.tableView.reloadData()
callData()
}
@IBAction func goBackToHome(sender: UIBarButtonItem){
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "base") as! SWRevealViewController
self.present(vc, animated: true, completion: nil)
}
func callData(){
Alamofire.request(addOnsURL).responseJSON { response in
let result = response.result
if let dict = result.value as? Dictionary<String, AnyObject>{
if let innerDict = dict["data"]?["result"]{
self.dataArray = innerDict as! [AnyObject]
print(self.dataArray)
}
}
}
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print(dataArray.count)
return dataArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! exampleTableViewCell
let itemName = dataArray[indexPath.row]["item_name"]
cell.label.text! = itemName as! String
return cell
}
}
je pense que u besoin de recharger la vue de la table dans la clôture de votre demande. – koropok
@koropok vous avez raison –
oui .. Merci beaucoup .. cela a fonctionné .. nécessaire de recharger dans la demande de fermeture .. –