Liste dans une liste
SkateboardV
Membre
Bonjour,
je développe une application qui se présente sous cette forme :
j'utilise une tabBar avec 5 catégories.
Dans chacune de ces catégories, j'affiche une liste de sous-catégories (qui diffère selon la catégorie, bien sur).
Quand je clique sur une sous-catégories, j'aimerais afficher une seconde liste, de produits cette fois-ci.
Enfin, quand je clique sur un produit, j'afficherai une vue qui présentera le produit.
Voilà mon soucis, je n'arrive pas à afficher la seconde liste lorsque je clique sur une cellule. Ou alors j'y arrive mais je ne peux plus retourner en arrière (l'application se coupe).
Avez-vous une idée de la marche à suivre ?
Merci.
P.S. : j'ai utilisé le StoryBoard !
je développe une application qui se présente sous cette forme :
j'utilise une tabBar avec 5 catégories.
Dans chacune de ces catégories, j'affiche une liste de sous-catégories (qui diffère selon la catégorie, bien sur).
Quand je clique sur une sous-catégories, j'aimerais afficher une seconde liste, de produits cette fois-ci.
Enfin, quand je clique sur un produit, j'afficherai une vue qui présentera le produit.
Voilà mon soucis, je n'arrive pas à afficher la seconde liste lorsque je clique sur une cellule. Ou alors j'y arrive mais je ne peux plus retourner en arrière (l'application se coupe).
Avez-vous une idée de la marche à suivre ?
Merci.
P.S. : j'ai utilisé le StoryBoard !
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si ton appli coupe, c'est un plantage. Si tu exécute ton appli sur un device, tu dois pouvoir récupérer la log du plantage dans Xcode (Device logs). Tu as forcément quelque part une indication sur le problème. Au pire tu exécute ton code pas à pas au moment de la sélection d'une cell et tu vois ce qui se passe.
merci de vos réponses !
Voici le code de ma première tableView,
[/color]
Ne faites pas attention au tableau qui remplit les listes, c'est pour un site de lignerie que je fais ça /xd-laugh.gif' class='bbc_emoticon' alt='xd' /> .
Donc premier problème, j'ai mis en commentaire le [anotherViewController release]; du didSelectRowAtIndexPath: parce qu'il me fait 2 erreurs :
- 'release' is unavailable: not available in automatic reference counting mode
- ARC forbids explicit message send of 'release'
Je ne comprends pas cette erreur..
Je sais pas si j'ai bien écrit le code de la méthode didSelectRowAtIndexPath: ou si l'erreur vient d'ailleurs..
Si vous avez besoin du code d'une autre classe ou de plus de précisions sur le StoryBoard n'hésitez pas..
Encore merci pour l'aide que vous m'apportez..
Question bête, mais est-ce que tu utilises un UINavigationController?
Pour l'erreur sur le release, c'est normal, puisque maintenant, avec ARC, ce n'est plus toi qui gère la mémoire de ton application. Les release sur les objets sont donc strictement interdits (ça fonctionne un peu comme sur Java).
:-)
Alors, je pense que le plus facile est que tu post l'erreur affichée.
Tu utilises ARC, tu ne dois plus invoquer explicitement les méthodes comme dealloc, retain et release, autorelease... Voir la doc Apple sur l'Automatic Reference Counting. Cela a aussi été discuté ici plusieurs fois.
Visiblement dans ton code tu as mis de côté Storyboard, à la place tu utilises un nib. Donc ?
À mon avis le plus simple c'est de laisser planter ton code et de nous renvoyer la partie la plus intéressante de la log.
Pas aussi chaud que lorsque mes bureaux étaient juste au dessus d'une société de vente de lingeries. Quand c'était les périodes des essayages tout le service info. (que des mâles) descendait d'un étage :-)
Oh que oui c'est chaud ! ahah
Non j'utilise bien le StoryBoard, où est-ce que tu vois que je n'en utilise pas ?
Voilà ce que j'ai dans le main lorsque l'application plante :
Dans le UIApplicationMain, il m'indique que ça semble buguer à cet endroit
et dans 0__pthread_kill j'ai
</uikit>
Le programme reçoit le signal 'SIGABRT'.
Bah les hommes sont des chiens ! Mais tu le savais déjà , non ?
Tout simplement dans le code que tu présentes : la partie prepareForSegue: est en commentaire. Et si tu veux charger un controller lié a une scene du storyboard ce n'est pas initWithNibName: qu'il faut utiliser mais [self.storyboard instantiateViewControllerWithIdentifier:@IdentifiantDuController];
Oh et puis vu ton environnement (iOS 5 j'imagine) je pense que tu n'as pas besoin de ce code (grâce au principe d'Automatic Cell Loading qui garantie que ta cell n'est pas à nil) :
Tu es capable de te toucher les roubignoles avec la langue toi ?
Pas toi ? Ooo ..
J'ai mis cette partie en commentaire parce que je l'ai reprise d'un autre projet, sinon elle va être utilisée.
Je suis un novice encore en Objective-C, il y a des notions que je cotoie mais que je ne comprend pas forcemment. Mon seul moyen pour l'instant, c'est de demander de l'aide sur ce forum, ou de tester de multiples choses.
D'accord, c'est noté.
C'est très bien de s'y mettre, mais tu comprendras que dans ces conditions il est difficile de t'aider : d'un côté tu indiques utiliser le Storyboard mais sans vraiment l'utiliser /crazy.gif' class='bbc_emoticon' alt=' ' />
Ainsi, qu'est-ce qui garanti en fin de compte que cette partie de ton code :
fait référence à une cell présente dans ton Storyboard ? Ton problème peut provenir de là , ou d'ailleurs...
Est-ce que alors tu pourrais m'indiquer la marche à suivre pour repartir sur de bonnes bases ?
J'ai suivi pas mal de tutos, mais chacun d'eux détaille qu'une fonctionnalité : un sur les tabBar, un sur les TableView..
Je pensais suivre la même démarche pour inclure une liste dans une liste mais vu l'état des choses je n'y arrive pas.
Je n'ai pas de tuto à te proposer. Mais à partir de ce que j'ai compris de ton besoin j'ai créé vite fait un projet avec storyboard.
Avec un peu de chance ça devrait t'aider.