Also, was ich im Moment über Swift verstehe, ist, dass, um von einer Ansicht zur anderen überzugehen, der Weg, um darüber zu gehen, Übergänge verwendet. In meiner App habe ich jedoch eine Tabellenansicht, in der eine Liste der Elemente angezeigt wird, mit denen der Benutzer interagieren kann. Dadurch werden die Elemente auf einen anderen Ansichtscontroller in meiner App verschoben, der sich in einer Tab-Leiste befindet.Daten von einem Tabellenansicht-Controller an einen anderen in der Registerkartenansicht enthaltenen Ansichtscontroller übergeben?
class JobCompletedTableViewController: UITableViewController {
// MARK: Properties
var jobsCompleted = [Job]()
var jobsChosen = [Job]()
override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let share = UITableViewRowAction(style: .normal, title: "Share") { action, index in
// Add data to the array created locally
self.jobsChosen.append(self.jobsCompleted[indexPath.row])
}
share.backgroundColor = UIColor.blue
return [share]
}
// Need some sort of method to pass data into other view
//controller if tab button is clicked
}
Die Tabellenansicht, die in einem Navigationscontroller und Tab-Bar-View-Controller eingebettet ist.
Mein erster Gedanke zu diesem Problem war, einfach ein Array im View-Controller zu erstellen, das die Benutzerinteraktion mit Listenelementen verfolgt. Fügen Sie dann Elemente hinzu, mit denen der Benutzer interagiert hat. Wenn der Benutzer auf ein Element in der Tableiste klickt, instanziieren Sie den anderen Tabellenansicht-Controller, der alle Elemente anzeigt, mit denen der Benutzer interagiert hat.
Ich würde es schätzen, wenn Sie gehen würden, wie ich tatsächlich eine Instanz der ChosenTableViewController-Klasse instanziieren kann, die alle Liste der Elemente enthalten wird, mit denen Benutzer interagierten.
Storyboard, eine Vorstellung davon zu geben, was meine app aussieht und wie die darin enthaltenen
Seine unklar, die basierend auf dem Diagramm-Controller Ihr Bezug anzuzeigen. Versuchen Sie, von der Überweisung zu Jobs vc zu gehen? Hinzufügen eines vorbereiteten Verweises zur Liste der Jobs? Bleiben diese Dinge lokal oder ziehen sie aus einem Netzwerk? – JustinM
Ah ich entschuldige mich, ich versuche, von Jobs VC zu E-Mail VC zu gehen, indem Sie auf die Registerkarte unten tippen. Die Daten werden lokal beibehalten, ich werde sie bearbeiten, um zu verdeutlichen –
Der beste Weg, um darüber zu gehen, ist Core-Daten, Realm oder was auch immer Persistance-Methode verwenden Sie verwenden, und fügen Sie eine Bool-Eigenschaft zum Job-Typ mit dem Standardwert von falsch (z. B. var selected = false). Wenn ein Benutzer eine Zeile auswählt, ändern Sie den Wert der ausgewählten Eigenschaft und behalten die neue Auswahl bei. Wenn Sie dann zu E-Mail-Vc gehen, rufen Sie alle Jobs ab, für die der ausgewählte Wert == True lautet. Dadurch werden die übergebenen Daten von VC zu VC entfernt. Ich würde eine Antwort schreiben, aber ich kann kein vollständiges Beispiel im Code geben. Abbildung Dies kann Sie in der Zwischenzeit auf eine Implementierung – JustinM