J'ai une vue tabulaire avec un contrôleur de navigation intégré. J'ai ajouté un bouton UIBarButtonItem (ajouter). Lorsque je clique sur ce bouton, il ouvre une nouvelle vue où l'utilisateur saisit les données et les soumet (qui effectue un appel de service Web) et revient à la vue précédente. Cette navigation se passe comme indiqué ci-dessous,IOS swift UIBarButtonItem action
func addTapped(_ sender:UIBarButtonItem) {
print("Called Add")
let vc = (storyboard?.instantiateViewController(withIdentifier: "newNote")) as! newNoteVC
self.navigationController?.pushViewController(vc, animated: true)
}
Et dans la nouvelle vue, je ne suit,
@IBAction func saveButton(_ sender: UIButton) {
if (self.noteDescription.text?.isEmpty)! {
print("Enter missing note description")
return
} else {
let desc = self.noteDescription.text
self.uploadNote(noteText: desc!, noteDate: self.dateInMilliseconds)
self.navigationController?.popViewController(animated: true)
}
}
De cette façon, un dossier est enregistré et une vue obtient sauté de la pile du contrôleur de navigation, mais seule chose que je don 't comment faire est d'actualiser les données de vue de table dans la vue parent (où je pourrais avoir besoin de faire un nouvel appel de service http pour lire tous les enregistrements).
J'espère pouvoir expliquer le problème? Toute aide est appréciée.
Vous avez besoin d'actualiser une table dans currentViewController ou dans la précédente? –
Je suggère d'utiliser le protocole protocol/delegate pour passer la nouvelle note à votre 'UITableViewController'. Voir ici: https://stackoverflow.com/questions/30618172/how-to-send-data-back-by-popviewcontrolleranimated-for-swift – toddg
Il semble que vous ayez trop besoin de faire une requête http pour obtenir des données alors que vous pourriez simplement passer le un retour et l'ajouter à votre vue de table – toddg