J'ai donc un tableau dans lequel je vais stocker toutes les données que je reçois de la requête http et les afficher sur tableView mais il semble que tableView (numberOfRowsInSection) ne reconnaisse pas le changement dans le tableau parce que le nombre reste comme 0.Array ne se connecte pas à la méthode tableView (numberOfRowsInSection)
class OrdersViewController: UIViewController {
@IBOutlet weak var tableView: UITableView!
var arr = [[String: AnyObject]]()
var selectedIndex = -1
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let baseUrl = "my url"
let consumer_key = "consumer_key"
let consumer_secret = "consumer_key"
let url = "\(baseUrl)?consumer_key=\(consumer_key)&consumer_secret=\(consumer_secret)&status=processing"
let headers2 = ["Accept": "application/json"]
Alamofire.request(url, headers: headers2)
.responseJSON { response in
self.arr.append(data from request)
}
}
let url2 = "\(baseUrl)?consumer_key=\(consumer_key)&consumer_secret=\(consumer_secret)&status=pending"
Alamofire.request(url2, headers: headers2)
.responseJSON { response in
self.arr.append(data from request)
print("arr", self.arr)
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
print("after request", self.arr)
return self.arr.count
}
}
and some other codes...
Je reçois des données de la requête HTTP avec succès et il est mis à jour dans mon appel Alamofire mais « après la demande » continue d'imprimer un tableau vide et je ne suis pas sûr de ce qui se passe ici.
Si quelqu'un peut donner des conseils qui changeront ma façon de penser, cela sera apprécié.
Merci à l'avance.
Je mets self.tableView.reloadData() après append, mais il ne fonctionne toujours pas à jour mon tableau dans Fonction numberOfRowsInSection. En outre, maintenant il me donne une erreur disant "Échec d'assertion dans - [UITableView _configureCellForDisplay: forIndexPath:]" et "Terminant l'application due à l'exception uncaught 'NSInternalInconsistencyException", raison:' UITableView (
ckim16
@ ckim16 Vous êtes les bienvenus! On dirait que vous pourriez avoir un autre problème, mais ne pas appeler' reloadData() 'était définitivement –