Ich habe eine Tabellenansicht mit integriertem Navigationscontroller. Ich habe eine UIBarButtonItem (hinzufügen) -Schaltfläche hinzugefügt. Wenn ich auf diese Schaltfläche klicke, öffnet sich eine neue Ansicht, in der der Benutzer die Daten eingibt und einreicht (was einen Web-Service-Anruf ausführt) und zur vorherigen Ansicht zurückkehrt. Diese Navigation geschieht, wie unten gezeigt,IOS swift UIBarButtonItem Aktion
func addTapped(_ sender:UIBarButtonItem) {
print("Called Add")
let vc = (storyboard?.instantiateViewController(withIdentifier: "newNote")) as! newNoteVC
self.navigationController?.pushViewController(vc, animated: true)
}
Und in neue Ansicht ich folgende,
@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)
}
}
diese Weise wird ein Datensatz gespeichert wird und eine Ansicht wird vom Navigationscontroller Stapel geholt, sondern nur, was ich don In diesem Fall werden die Tabellenansichtsdaten in der übergeordneten Ansicht aktualisiert (wo ich möglicherweise einen neuen http-Serviceaufruf durchführen muss, um alle Datensätze zu lesen).
Ich hoffe, ich kann das Problem erklären? Jede Hilfe wird geschätzt.
Sie müssen eine Tabelle in currentViewController oder in einem vorherigen aktualisieren? –
Ich würde vorschlagen, Protokoll/Delegate-Muster zu verwenden, um die neue Notiz zurück zu Ihrem 'UITableViewController' zu übergeben. Siehe hier: https://stackoverflow.com/questions/30618172/how-to-send-data-back-by-popviewcontrolleranimated-for-swift – toddg
Scheint wie Overkill, um eine HTTP-Anfrage zu machen, um Daten zu erhalten, wenn Sie die einfach übergeben könnten ein Datensatz zurück und fügen Sie es in Ihre Tabellenansicht – toddg