NSArray avec des objets de classe comme contenu?

badro

Membre confirmé
5 Août 2008
44
0
Bonjour,

J'ai pris en main le tutorial suivant:
http://www.iphonesdkarticles.com/2009/01/uitableview-searching-table-view.html

qui permet de gérer une liste Tableview à partir d'un NSArray contenant des strings.
L'appui sur une cellule permet d'ouvrir une DetailView qui réutilise la string en question.

J'aimerai désormais remplir la table view avec des objets de classe de ma propre conception, pour pouvoir réutiliser plusieurs parametres dans la Tableview.

Par exemple, une classe Voiture, avec les parametres prix, couleur, kilometrage.
Et dans le NSarray, puis donc la Tableview, charger l'objet de ma création Scenic (10000,vert,150) pour pouvoir réutiliser les paramètres dans la détail view.

Mais je ne vois pas trop comment faire.
J'arrive à créer une classe perso, à instancier des objets de cette classe pas de soucis.
Mais je n'arrive pas à mettre des objets de ce type dans le tableau.

si j'écris:

Voiture *Scenic;

NSArray *countriesToLiveInArray = [NSArray arrayWithObjects: Scenic, @"306", @"Ferrari", nil];


cela compile mais plante au lancement
en revanche si j'enleve l'objet scenic pas de soucis

Une idée?

merci
 
Oui, instancier Scenic.

Bloc de code:
Voiture* scenic = [[Voiture alloc] init];
NSArray* vehicules = [NSArray arrayWithObjects:scenic, nil];
[vehicules retain];
[scenic release];   // L'objet est retenu par le NSArray

Un article à lire.

P.S.: NSArray n'est pas modifiable après sa création. Tu auras besoin d'un NSMutableArray.
 
Oui, instancier Scenic.

Bloc de code:
Voiture* scenic = [[Voiture alloc] init];
NSArray* vehicules = [NSArray arrayWithObjects:scenic, nil];
[vehicules retain];
[scenic release];   // L'objet est retenu par le NSArray
Un article à lire.

P.S.: NSArray n'est pas modifiable après sa création. Tu auras besoin d'un NSMutableArray.


je faisais effectivement l'alloc et l'init, juste oublier de le mentionner (un screen aurait été plus parlant je suppose)
merci pour l'article !