Master Detail application
Bonjour,
Je suis novice et surtout autodidacte dans le développement d'application d'application Iphone/Ipad alors svp prenez bien le temps de détailler vos réponses afin que je puisse tout assimiler ::)
Voici ma question:
j'ai commencer un projet d'application sur le modél d'un masterDetail Application, j'ai rempli ma vue Master avec ma liste de titre de sujet et une image s'y rapportant, j'aimerais afficher maintenant le texte s'y rapportant dans le DatilView et c'est là que je bloque. j'ai pensé à mettre un label remplissant presque toute la vue pour afficher le texte mais je sais pas si cela est la bonne façon de faire. J'ai crée un NsArray avec les titre du sujets et l'image( dans l'Appdelegate) s'y rapportant et je voulais inclure dans ce tableau les textes en question. Maintenant je sais pas si c'est le bon chemin à suivre ou si je suis dans le faux?? J'ai essayé sur plusieurs forum et la doc d'apple mais je rame un peu j'avoue.
Alors soyez indulgent et surtout veuillez m'aiguillez avec un max de détails.
Un trés trés grand merci à vous
Réponses
Salut,
Imaginons que MasterVC possède un NSArray de Voitures. Quand on va toucher la cellule correspondante à une Voiture, il faudra passer l'objet correspondant à DetailVC, c'est à dire lui fournir un pointeur sur cet objet.
Tout d'abord, on déclare le pointeur dans DetailVC.h:
Quand une cellule est touchée dans le MasterVC, c'est une méthode de UITableViewDelegate qui est appelée (MasterVC.m):
1) On récupère dans la liste un pointeur sur la Voiture correspondant au numéro de la ligne sélectionnée.
2) On crée un instance de DetailViewController.
3) On lui passe la Voiture.
4) On empile le DetailViewController pour l'afficher.
À partir de là , DetailViewController possède une Voiture et peut l'afficher.
On aimerait en savoir plus sur toi, notamment ton background. Car être novice en dév' iOS ne veut pas dire novice en dév' tout court : ex. Avoir fait du Java, C# ou tout autre langage orienté objet, voire du C, c'est déjà un sacré bagage...
Salut,
Merci pour cette rapide réponse, je vais recommencer mon projet depuis le debut pour essayer votre methode, mais j'ai encore une question si vous voulez bien, pour le texte que je veux mettre dans le Detail View vous me conseiller de le taper entièrement dans un tableaux du style NSdictionary avec les image et les titres du sujets devant s'afficher dans la Master View ou bien recréer un autre tableau et le mettre en rapport avec la vue Master?
Un trés grand merci à vous en tout cas et bonne journée
Bonjour Larme, voilà désolé je vien de remplir mon profil. Comme j'ai dit plus haut je suis novice dans la programmation IOS mais j'ai fait un peu de C dans ma jeunesse à l'école et un peu de linux.
Euh... un NSDictionary n'est pas un tableau. C'est un dictionnaire, c'est à dire qu'à une clef (en général une NSString) est associé un objet.
On peut imaginer utiliser une liste (NSMutableArray) de dictionnaires, avec un dictionnaire correspondant à un sujet.
Personnellement, pour stocker le titre et l'image, je créerais plutôt une classe Sujet, ce qui me permettra d'y ajouter les traitements.
OK Céroce je vais essayé de faire cela , mais pour le texte dans le Detail View tu me conseillerai de faire quoi? je tape tout le texte en rapport avec le sujet dans un tableau ou bien y'a une autre solution, plus facile et logique à faire??
Merci vraiment beaucoup pour ton aide
Au final, le DetailVC va afficher du texte dans un UILabel ou une UITextView, non? Il faudra le prendre dans l'objet Sujet.
J'aurai une question pour les gens qui ont deja touche au Java
Le NSDictonnary ca équivaut a une HashMap en Java ?
Oui.
NSDictionary est bien implémentée sous la forme d'une table de hachage.
Je trouve l'appellation Java étrange parce qu'elle confond l'implémentation et la fonction.
Oui c'est bien ça Céroce, je m'en vais recommencer mon projet pour essayer ce que tu m'explique. J'avais déjà crée une classe où j'avais mis les images et les titres de sujets jusque la pas de soucie c'est pour la suite que je bloque. je continue et on verra bien