Segue lädt falschen Controller

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

  • Segue lädt falschen Controller

    Hallo,

    ich bin gerade etwas am verzweifeln, ich habe per Storyboard einen Segue au einen Controller stellt, wie in diesen Projekt bestimmt schon 20 mal zu vor. Nur dummerweise verlinkt diese Segue auf einen komplett falschen Controller wie ihr im Bild sehen könnt.

    Anbei mein Code wie ich den Segue aufrufen und den Controller erstelle bzw. die Daten übergeben:

    Quellcode

    1. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    2. {
    3. if (tableView.editing == YES) {
    4. [self performSegueWithIdentifier:@"personEdit" sender:self];
    5. }
    6. }
    7. -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    8. if([segue.identifier isEqualToString:@"personDonTPayed"] && self.tableView.editing == NO) {
    9. ExsitendPersonViewController *secondController = (id) [segue.destinationViewController topViewController];
    10. secondController.event =self.event;
    11. secondController.personPayedBool = NO;
    12. secondController.typeNumber = @1;
    13. return;
    14. }
    15. if([segue.identifier isEqualToString:@"personPayed"] && self.tableView.editing == NO) {
    16. ExsitendPersonViewController *secondController = (id) [segue.destinationViewController topViewController];
    17. secondController.event =self.event;
    18. secondController.personPayedBool = YES;
    19. secondController.typeNumber = @0;
    20. return;
    21. }
    22. //Bearbeiten der Datensätze
    23. if([segue.identifier isEqualToString:@"personEdit"] && self.tableView.editing == YES) {
    24. AddNewPersonTableViewController *controller = (id) [segue.destinationViewController topViewController];
    25. Kosten* tempCostForPerson = [self.fetchedResultsController objectAtIndexPath:[self.tableView indexPathForSelectedRow]];
    26. Person *personToEdit = tempCostForPerson.person;
    27. controller.person = personToEdit;
    28. controller.personToEdit = YES;
    29. controller.typeNumber = [NSNumber numberWithInteger:[self.tableView indexPathForSelectedRow].section];
    30. controller.kosten = tempCostForPerson;
    31. controller.event = self.event;
    32. return;
    33. }
    34. }
    Alles anzeigen


    Danke für eure Hilfe!!

    [Blockierte Grafik: http://bilder.bitsmaker.de/Xcode2.jpg]
    Vielen Dank

    Gruß

    Bongartz
  • Ja dann geht es, aber dann fehlt mir 70% der GUI, wenn ich es so machen. Das ist also auch keine Lösung.

    Zu dem kommt die Warning wenn ich alle Segue verbunden habe:

    Quellcode

    1. ​2014-11-22 11:58:22.374 iTravel[13639:782644] Warning: Attempt to present <UINavigationController: 0x7ff5194b4ac0> on <EventDetailTAbelViewController: 0x7ff51971a750> whose view is not in the window hierarchy!

    Vielen Dank

    Gruß

    Bongartz

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

  • Bongartz schrieb:

    Ja dann geht es,


    Das ist aber schon mal ein Hinweis. Anscheinend stehen da zwei Übergänge zur Auswahl und die App entscheidet sich für die falsche.

    Bongartz schrieb:

    aber dann fehlt mir 70% der GUI, wenn ich es so machen. Das ist also auch keine Lösung.

    Von welchen Elementen gehen denn die anderen beiden Übergänge aus? Von den Zellen?
    „Meine Komplikation hatte eine Komplikation.“
  • So habe jetzt den Segue direkt auf die Zellen gelegt und es geht. Nur ich habe noch folgenden Fehler wo ich nicht weiß wo der jetzt schon wieder her kommt.Danke für den Tip mit dem Testen der Segue.

    Quellcode

    1. 2014-11-22 17:30:53.127 iTravel[13996:814115] Warning: Attempt to present <UINavigationController: 0x7f96d0f6c570> on <EventDetailTAbelViewController: 0x7f96d0cb0850> whose view is not in the window hierarchy!


    Den Fehler verstehe ich schon, aber ich weiß nicht was ich bei diesem Segue anders mache als bei den anderen.
    Vielen Dank

    Gruß

    Bongartz