pushViewController @ NRGridView
yass_1988
Membre
Salut,
je rencontre en ce moment un petit soucis que je n'arrive pas à résoudre, voila, j'ai une classe "AppViewController" qui hérite de NRGridViewController et une classe définit en grande partie via mon storyboard du nom de FormViewController et qui hérite d'un simple UIViewController.
Mon soucis étant que depuis le FormViewController j'arrive à push vers AppViewController sans soucis:
Mais c'est depuis le AppViewController pour push vers mon FormViewController que je m'en sors pas:
J'ai ce message d'erreur qui apparait:
J'ai l'impression qu'il me dit qu'il ne peut pas push vers un view contrôler nulle !!
Et je vois pas comment faire autrement.
je rencontre en ce moment un petit soucis que je n'arrive pas à résoudre, voila, j'ai une classe "AppViewController" qui hérite de NRGridViewController et une classe définit en grande partie via mon storyboard du nom de FormViewController et qui hérite d'un simple UIViewController.
Mon soucis étant que depuis le FormViewController j'arrive à push vers AppViewController sans soucis:
[color=#578187]AppViewController[/color][color=#000000] *appliViewController = [[[/color][color=#578187]AppViewController[/color][color=#000000] [/color][color=#401082]alloc[/color][color=#000000]] [/color]initWithGridLayoutStyle[color=#000000]:[/color]NRGridViewLayoutStyleVertical[color=#000000]];[/color]<br />
[[color=#b41ca4]self[/color].[color=#7134aa]navigationController[/color] [color=#401082]pushViewController[/color]:appliViewController [color=#401082]animated[/color]:[color=#b41ca4]YES[/color]];
Mais c'est depuis le AppViewController pour push vers mon FormViewController que je m'en sors pas:
[color=#578187]FormulaireViewController[/color][color=#000000] *formViewController=[[/color][color=#b41ca4]self[/color][color=#000000].[/color][color=#7134aa]navigationController[/color][color=#000000].[/color][color=#7134aa]storyboard[/color][color=#000000] [/color]instantiateViewControllerWithIdentifier[color=#000000]:[/color][color=#c72c25]@"Formulaire"[/color][color=#000000]];[/color]<br />
formViewController.[color=#7134aa]navigationItem[/color].[color=#7134aa]title[/color]=[color=#c72c25]@"Formulaire"[/color];<br />
[[color=#b41ca4]self[/color].[color=#7134aa]navigationController[/color] [color=#401082]pushViewController[/color]:formViewController [color=#401082]animated[/color]:[color=#b41ca4]YES[/color]];
J'ai ce message d'erreur qui apparait:
Application tried to push a nil view controller on target <UINavigationController: 0x1965a0>.
J'ai l'impression qu'il me dit qu'il ne peut pas push vers un view contrôler nulle !!
Et je vois pas comment faire autrement.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
A tous les coups tu as une typo entre l'identifier de ton storyboard dans le code et celui dans IB (je dis ça je connais rien aux storyboards j'ai jamais utilisé, mais bon)
En gros :
1er push qui fonctionne : FormViewController
> push
> AppViewController
2ème push qui ne fonctionne pas : AppViewController ----> push ----> FormViewController
C'est bien ça ?
Je vais peut-être dire une bêtise mais pourquoi tu n'utilises pas [self.navigationController popViewControllerAnimated:YES] pour revenir à ton premier contrôleur ?
Le popViewControllerAnimated, serait niquel comme solution si par exemple le AppDelegate push vers le FormViewController ensuite je push vers AppViewController, ce qui serait dans l'état actuel possible. Sauf que imaginons que le AppDelegate push vers le AppViewController, je fais comment pour push vers le FormViewController ?
svp
Concrètement, il n'arrive pas à récupérer le formViewController à partir du storyboard. Vérifie que l'identifier existe bien ... Vérifie aussi que self.navigationController.storyboard n'est pas nil.
Tout comme AliGator, je n'ai pas encore eu l'occasion / le temps de mettre en oeuvre les storyboards ... Je ne pourrais donc pas décoller de la théorie
J.
Tu sembles mixer deux types de codes : un sans l'usage du storyboard (premier push), l'autre avec. Pourquoi pas mais je ne suis pas sûr que ça améliore la compréhension général du code.
Es-tu sûr d'avoir navigation controller défini en tant que initial view controller dans storyboard ?
bien écoute à partir de mon AppDelegate, j'arrive à push vers mon FormViewController:
Et j'arrive aussi a push vers mon AppViewController:
Tu veux dire quoi par définir navigation contrôler en tant que initial view controller dans storyboard ?
Ainsi quand tu démarre ton application, iOS va lire le storyboard, instancier le view controller initial et l'associer en tant que root view controller à ta window.
Mais bon... si tu dis que ton code fonctionne dans ton appDelegate alors je vois pas trop d'où peut provenir ton problème. As-tu vérifier - comme l'indique Julien - que dans AppViewController la propriété self.navigationController.storyboard != nil ?