Daten durch einen UINAvigationController zu einem TableviewController sende, wenn der NaigationController Modal geladen wird

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Daten durch einen UINAvigationController zu einem TableviewController sende, wenn der NaigationController Modal geladen wird

    Hallo,

    ich versuche schon seit Tagen, einen UITableViewController mit meinem UINavigationController modal in meiner iPhone App hinzuzufügen. Wenn ich an den UITableviewcontroller ohne UINavigationController meine Daten übergeben will, geht dies auch recht gut, nur leider ist ja ein UITableviewcontroller ohne Daten recht sinnlos.

    Anbei ein Bild aus meinem Storyboard und meinen Code mit dem Fehler.

    Ich hoffe das mir einer sagen kann wo die ganze Zeit mein Fehler liegt.

    Danke

    [Blockierte Grafik: http://bitsmaker.de/bilder/LittleSnapper.jpg]

    Quellcode

    1. AddReiseTableViewController *controller = segue.destinationViewController;
    2. controller.reise = [self.fetchedResultsController objectAtIndexPath:[self.tableView indexPathForSelectedRow]];
    3. return;


    Fehler:

    Quellcode

    1. 2013-12-23 21:12:21.837 iTravel[4416:70b] -[AddReiseNavigationViewController setReise:]: unrecognized selector sent to instance 0x90bc760
    2. 2013-12-23 21:12:21.840 iTravel[4416:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AddReiseNavigationViewController setReise:]: unrecognized selector sent to instance 0x90bc760'


    Hier ist ja klar zusehen, das reise nicht gesetzt werden kann ,aber ich weiß nicht wieso.
    Vielen Dank

    Gruß

    Bongartz
  • Wozu soll es gut sein einen NavigationmController in einen TableviewController zu setzen der selber keinen NavifationController hat? Setz den NavigationController doch einfach als RootController des ersten TableView.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Mh, was du sagst habe ich schon ml gesehen stehe aber jetzt gerade total auf dem Schlauch. Dachte das mit Storyboard man so einen NavigationController einem TableViewController zuweist.

    Wie geht das denn jetzt mit dem RootController?

    Danke
    Vielen Dank

    Gruß

    Bongartz
  • Dein oberster, also erster Controller sollte der Navigationscontroller sein. Du fängst im IB also mit einem NavigationsController an und machst dann erst einen TableViewController. Dann brauchst du den zweiten Tableview auch nicht modal anzeigen sondern kannst ihn schon puschen. Das ist doch viel konsistenter als wenn jeder Controller anders aufpoppt.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Mh aber das will ich doch, ich will das der TableviewController modal geladen wird, ich benötige den NavigationController auch nur, weil ich sonst keine Navigationbar in den Tabelviewcontroller ziehen kann.

    Das Modal laden gehört zu meiner benutzerfreundlichen app Gestaltung. Wenn Daten vom User eingeben werden, soll dies modal geladen werden, weil es nicht zu dem üblichen App. Fluss geföhnt.
    Vielen Dank

    Gruß

    Bongartz
  • So hab jetzt eine Lösung gefunden die geht nur leider bekomme ich hier eine Warning.

    Hier mein Code:

    Quellcode

    1. AddReiseTableViewController *controller = [segue.destinationViewController topViewController];
    2. controller.reise = [JSMCoreDataHelper insertManagedObjectOfClass:[Reise class] inManagedObjectContext:[JSMCoreDataHelper managedObjectContext]];
    3. return;


    Die Warning sagt aus, das der TopViewController ein UIViewcontroller ist und kein UITableViewController. Kann ich dies noch irgendwie anders lösen? Das ich hier keine Warning erhalte?

    Danke

    P.S.: habe die Warnung weg bekommen in dem ich aus dem UITableView ein Objekt mit (id) gemacht hab. Ob das jetzt solo richtig sauber ist weiß ich nicht, aber es läuft so wunderbar.
    Vielen Dank

    Gruß

    Bongartz

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bongartz ()