NSInvalidArgumentException :Drücken der gleichen view-controller-Instanz mehr als einmal wird nicht unterstützt
App-Abstürze mit diesem Fehler
NSInvalidArgumentException :Pushing the same view controller instance more than once is not supported
Immer diese Fehlermeldung, wenn Sie versuchen, drücken Sie eine andere navigationcontroller aus einer anderen navigation-controller ist UIBarButtonItem.
Meldung in der Konsole:
UINavigationController pushViewController:transition:forceImmediate:]_block_invoke + 0
Dies ist der Wechsel der Codierung
else if ([segue.identifier isEqualToString:@"showGroupView"]) {
GroupView *groupView = (GroupView *)segue.destinationViewController;
[self.navigationController pushViewController:groupView animated:YES];
}
Wenn jemand helfen kann diesen Fehler beheben,
- Wenn Sie mit einem Wechsel, sollte man nicht auch sein drängen in code. Führen Sie eine oder das andere, nicht beide.
InformationsquelleAutor user1120133 | 2015-01-16
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Fehlermeldung sagt dir genau, was das problem ist: Sie versucht sind, drücken Sie eine view-controller-Instanz, die bereits auf dem Stapel.
In anderen Worten,
segue.destinationViewController
hat bereits geschoben worden, so dass es entweder einer der Eltern von der aktuellen view-controller, oder den aktuellen controller selbst.Den tatsächlichen Grund für diese ist unmöglich zu bestimmen, ohne zu sehen, Ihren code. Es ist möglich, dass Sie habe ein ähnliches problem,diese Frage, dass die Laufzeit so dass die Veranstaltung zweimal auftreten. Es ist ebenso möglich, dass etwas zu tun mit dem Wechsel ausgeschaltet ist.
Als ersten Schritt würde ich vorschlagen, das hinzufügen von log-Anweisungen, um den übergang (keine Haltepunkte, wie Sie ändern die beobachtbaren Verhaltens), um zu sehen, ob es wird mehr als einmal aufgerufen (und ist somit ähnlich zu der verlinkten Frage).
Gut, das ich, wie ich geprüft, ob mein view-controller ist auf die navigation stack oder nicht
aber eigentlich ist mein problem gelöst
Also der ganze code geht wie für jeden, der Referenz wenn
Für Ihre suitison ,sollten Sie entfernen "[self.navigationController pushViewController:groupView animated:YES];", und es erfolgt ein Sprung zur storyBpard der spezifischen segue.destionViewController.
Teste ich es selbst.
//Keine Notwendigkeit für die navigation zu schieben oder zu zeigen
}
In meinem Fall der erste push war nicht schnell genug, so dass ich das gleiche problem. Fix war die situation abchecken: