changement de vue avec prepareForSegue sur une tableview
lincoln33
Full-Time n00bMembre
Bonjour,
J'ai fait une table view qui affiche des informations d'un JSON.
Ma tableView et mes cellule qui affiche mes catégories s'affichent bien.
Lorsque je click sur la cellule, j'arrive a passer les infos sur une viewController avec le prepareForSegue mais la je souhaite afficher vers une autre tableview. Je ne sais pas si je suis comprhensible.
En gros voici le shema :
TableView (catégorie) ---> TableView (liste des infos suivant la catégorie) ---> View(infos details)
En faite mon simulateur crash quand je click sur la premiere céllule.
Voici mon code du prepareForSegue
Et a l'interieur du ViewDidLoad de la classe suivante
Mon code d'erreur
Mon dicArticle est bien déclaré dans le .h
Je ne vois pas d'où peut venir mon erreur.
Merci
J'ai fait une table view qui affiche des informations d'un JSON.
Ma tableView et mes cellule qui affiche mes catégories s'affichent bien.
Lorsque je click sur la cellule, j'arrive a passer les infos sur une viewController avec le prepareForSegue mais la je souhaite afficher vers une autre tableview. Je ne sais pas si je suis comprhensible.
En gros voici le shema :
TableView (catégorie) ---> TableView (liste des infos suivant la catégorie) ---> View(infos details)
En faite mon simulateur crash quand je click sur la premiere céllule.
Voici mon code du prepareForSegue
<br />
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {<br />
if ([segue.identifier isEqualToString:@"viewDetailcategorie"]) {<br />
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; // Je sais quelle ligne de ma table view est sélectionnée...<br />
NSDictionary *dicArticleSelection = [listOfItems objectAtIndex:indexPath.row]; // ... je peux donc récupérer mon article...<br />
DetailsCategories *viewDetailController = segue.destinationViewController;<br />
viewDetailController.dicArticle = dicArticleSelection; // ... article que je transmets au controller detail.<br />
}<br />
}<br />
Et a l'interieur du ViewDidLoad de la classe suivante
<br />
- (void)viewDidLoad<br />
{<br />
[super viewDidLoad];<br />
<br />
id IDArticle = [self.dicArticle objectForKey:@"id"];<br />
NSURL *urlAdress = [NSURL URLWithString:[NSString stringWithFormat:@"http://localhost:8888/steph/sites.php?id=%@", IDArticle]];<br />
<br />
// NSURL *url = [NSURL URLWithString:urlAdress];<br />
NSURLRequest *request = [NSURLRequest requestWithURL:urlAdress];<br />
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];<br />
[connection start];<br />
}<br />
Mon code d'erreur
2012-12-24 10:49:03.349 testJsonStoryBoard[27944:11303] -[UINavigationController setDicArticle:]: unrecognized selector sent to instance 0x9270600
2012-12-24 10:49:03.350 testJsonStoryBoard[27944:11303] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UINavigationController setDicArticle:]: unrecognized selector sent to instance 0x9270600'
*** First throw call stack:
(0x1c96012 0x10d3e7e 0x1d214bd 0x1c85bbc 0x1c8594e 0x460c 0x462ac7 0x462b54 0xca899 0xcab3d 0xad1e83 0x1c55376 0x1c54e06 0x1c3ca82 0x1c3bf44 0x1c3be1b 0x1bf07e3 0x1bf0668 0x1b65c 0x280d 0x2735)
libc++abi.dylib: terminate called throwing an exception
Mon dicArticle est bien déclaré dans le .h
Je ne vois pas d'où peut venir mon erreur.
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
À mon avis ton problème vient de la ligne :
DetailsCategories *viewDetailController = segue.destinationViewController;
Laquelle doit te renvoyer un navigation controller plutôt qu'un UIViewController. Faut que tu regarde au niveau de tes connexions de tes segues.
et deux warning car deux ne sont pas utilisée
est-ce que ca ne viendrai pas du viewDidLoad ?
Non, car ce n'est pas ce que dit l'erreur.
Je ne comprends pas ton storyboard : tu as une scene intitulé "Les catégories" embarquée dans un navigation controller suivi d'une autre scene ("Root View Controller") avec un autre navigation controller.
Ca fait beaucoup de navigation controller je trouve.
en faite l'idée est de faire une table view qui affiche des categories puis suivant la categories on affiche une autre table view avec les infos liées et si je click sur la cell apres ca affiche le detail.
COmment tu aurais fait Toi pour cela ?
Pas sûr que ça soit la bonne question. La réponse à cette question vient de l'expérience que tu veux donner aux utilisateurs. Aux objets que tu manipules dans ton application, leur importance et leur hiérarchie.
La réponse à ta question peut aussi venir des guidelines Apple concernant la conception d'une application iOS.
Ici, tu semble avoir une navigation de type Master/Detail. À priori tu n'as donc besoin que d'un seul navigation controller qui va te permettre de naviguer (aller et retour) depuis ta liste de catégories jusqu'à leur détail.
Enfin, j'ajouterai que Storyboard n'est pas l'outil idéal pour dessiner directement ton application. Il faut un travail préalable (par exemple en faisant des sketch sur papier).
merci
erreur est la je crois
correction
svp fait des nslog pour tes dictionnaires comme sa on peut voir sa donne quoi niveau json peut etre un array pour dictionnaite que ta oublier.
avec ma correction ton segue est surement correcte.
nslog de dicArticleSelection pour voir si il est correcte ou pas.
Soyons sérieux 5 minutes.
/huh.gif' class='bbc_emoticon' alt='???' />??