Die Situation: wenn ich eine Taste in rentViewController drücke, erscheint ein Tableview-Controller. Wenn eine bestimmte Zelle gedrückt wurde, sendet sie Daten an rentViewController. Um brauchte ich die Codedaten von einem View-Controller zu einem anderen zu sendenKonnte den Wert vom Typ 'UITabBarController' nicht in 'ViewController' umwandeln
let rentViewController : RentViewController = self.presentingViewController as! RentViewController
< - hier ist, wo der Fehler
zeigt, so dass Tableviewcontroller Zugriff auf die Variablen und Funktionen von rentviewcontroller bekommen kann. Ich benutze
self.dismiss(animated: true, completion: nil)
aus dem tableviewcontroller und zurück zum rentviewcontroller. Es gibt mir jedoch einen Fehler "Konnte den Wert des Typs 'UITabBarController' nicht in 'RentViewController' umwandeln". Ich habe etwas recherchiert und denke, dass es den Anweisungen meiner View-Controller entspricht, aber ich bin mir nicht sicher, wie ich es so ändern kann, dass es funktioniert. Meine erste Ansicht ist 'TabBarController' und die Reihenfolge danach ist 'NavigationController' -> 'RentViewController' -> 'TableViewController'. Wenn Sie Fragen haben, zögern Sie nicht, ich kann Ihnen weitere Informationen geben.
die erste Methode ausprobiert und es funktionierte! Ich danke dir sehr. Aus welchem Grund schlagen Sie vor, delegate zum Übergeben von Daten zu verwenden? –
Es ist sauberer Weg, dann auf Abruf Reihenfolge zu verlassen. Wenn Sie sich zum Beispiel später dazu entschließen, TableViewController von einem anderen Punkt in der App aus darzustellen, würde die Delegierung immer noch funktionieren, während dies abhängig von der Hierarchie nicht möglich ist. –