Créer une classe d'ensemble d'objets
iToguesh
Membre
Bonjour, excusez cette question qui paraitra pour certain surement anodine et peut être un peu bête, mais la je pêche un peu... J'ai un programme qui reçoit un fichier XML (emploi du temps) et donc quand je le parse je stocke les éléments directement dans des objets j'ai donc 3 classes: root, semaine, jour et cours.
Seulement quand je parse mon XML j'ai seulement les dernières valeurs du XML qui sont sauvegardé dans les attributs de ces classes... Quel est (par exemple lorsque je fais mon héritage de cours à jour) la syntaxe pour en faire un tableau d'objet, actuellement j'ai :
#import <Foundation/Foundation.h>
#import "cours.h"
@interface jour : cours{
NSString *jour ;
NSString *name ;
}
@property NSString *jour ;
@property NSString *name ;
@end
En Java, ce que je voudrais faire s'écrirait par exemple (a peu de chose près):
public class jour extends ArrayList<cours> {
}
Merci d'avance pour l'intérêt que vous porterez à ce post et à vos réponses /smile.png' class='bbc_emoticon' alt=':)' />
Nico
Seulement quand je parse mon XML j'ai seulement les dernières valeurs du XML qui sont sauvegardé dans les attributs de ces classes... Quel est (par exemple lorsque je fais mon héritage de cours à jour) la syntaxe pour en faire un tableau d'objet, actuellement j'ai :
#import <Foundation/Foundation.h>
#import "cours.h"
@interface jour : cours{
NSString *jour ;
NSString *name ;
}
@property NSString *jour ;
@property NSString *name ;
@end
En Java, ce que je voudrais faire s'écrirait par exemple (a peu de chose près):
public class jour extends ArrayList<cours> {
}
Merci d'avance pour l'intérêt que vous porterez à ce post et à vos réponses /smile.png' class='bbc_emoticon' alt=':)' />
Nico
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
ensuite dans la boucle qui parse ton XML, tu mets tes objects dans un tableau:
Ptite question: le "_" devant le nom de mes variables consiste en quoi? Merci d'avance, et encore merci pour ta réponse /smile.png' class='bbc_emoticon' alt=':)' />
http://useyourloaf.com/blog/2011/02/08/understanding-your-objective-c-self.html
Voici mon code:
Je suis vraiment perdu la, a quoi sert le NSDictionnary? Comment intégré le xml dans celui ci, je comprend pas ce que tu veux faire... Ton morceau de code devrait remplacer le mien non?
Par contre, la démarche est différente de l'exemple que tu donnes, dans le sens où on ne vas pas hériter de NSMutableArray (c'est une très mauvaise idée). On va plutôt créer une classe Jour qui possèdera une variable d'instance de type NSMutableArray:
Oui mais comme ça je ne peux pas accéder à mes attributs de cours par exemple...?
Oui mais c'est pas possible ^^' Voila un XML généré par le webService:
Tu vois, à partir de là c'est difficile de naviguer où je veux par ta méthode..
Pour bien faire il faudrait que je puisse faire un truc du genre:
NSLog(@Le prochain cours sera: %@",[currentSemaine.jour atIndex[1cours atIndex[3]] intitule]);
Bon tokay j'dois être pessimiste au vue de mes capacités mais j'veux pouvoir y accéder assez simplement...
Et moi qui disais que le Java c'était un langage d'intellos, finalement j'me demande lequel... /xd-laugh.gif' class='bbc_emoticon' alt='xd' />
Non, je ne vois pas. Effectivement, les objets d'un NSMutableArray ne sont pas typés comme en Java, mais ça ne change pas grand chose. Tu dois juste dire de quel type est l'objet qui sort du NSMutableArray.
Et voici le parseur que j'ai utilisé (
: http://www.jkraft.fr...un-fichier-xml/
J'ai vraiment du mal à comprendre, j'attend juste du code commenté qui m'explique ce que je fais mal et la bonne façon de faire. Je remercie d'avance ceux qui prendront le temps de m'aider et remercie ceux qui ont déja penché sur ce problème...
Voici ma méthode qui appel le parseur:
Donc au lieu de Tu peux te passer de déclarer la variable d'instance _cours et te contenter de cette déclaration : Tu peux donc faire le ménage dans la déclaration de toutes tes variables d'instance et ne garder que les @property correspondant, ça va alléger ton code !
Merci pour l'astuce Ali