2 NSTableView et un seul Controller

benR

Membre expert
Club iGen
17 Juillet 2000
3 480
11
Paris
www.lasauce.eu
Salut à tous !

Dans l'état actuel de mes connaissances, je remplis un NSTableView avec les deux fonctions:
- (int)numberOfRowsInTableView
frown.gif
NSTableView *)aTableView
-(id)tableView
frown.gif
NSTableView *)aTableView
objectValueForTableColumn
frown.gif
NSTableColumn *)aTableColumn
row
frown.gif
int)rowIndex

que je mets dans mon controller...

J'aimerais maintenant gérer 2 NSTableView avec un seul controller, et les remplir chacune avec des éléments différents (typiquement, le contenu de 2 dossier différents).
comment faire pour que chaque tableview appelle ses propres méthodes de "remplissage" ?

Je ne sais pas si je suis clair, mais je vous remercie d'avance de votre aide !
 
J'ai pas très bien compris, tu veux utiliser les méthodes cocoa que tu cites ou t'as besoin de faire les tiennes (propres à chaque tableView) ?
ie : tu veux remplir tes tableView juste avec des trucs différents ou t'as besoin de méthodes différentes ?
 
non, a priori je veux continuer à utiliser les méthodes dont je parle (si c'est possible)

En gros je suis preneur de toute manière permettant de remplir mes 2 tableview avec des éléments différents
 
J'débute donc m'en veux pas si j'dis une bêtise :eek:
Chacune des deux fonctions du protocole NSTableViewDataSource contient un argument qui est le pointeur du NSTableView qui nécessite l'info ; donc, une seule fonction, un test pour savoir ce que tu dois renvoyer et le tour est joué !
Bloc de code:
le test se fait sur aTableView
 
OK alors dans ton controller tu mets (en gros pour rester general) : (car les methodes que tu cites ne remplissent aucunement un tableView, elles en tirent juste qq infos) :

[self tableView:tableView1 setObjectValue:unObjet ForTableColumn:taTableColumn row:index];

puis pour le 2e tableView nommé et instancié en tant que tableView2 :

[self tableView:tableView2 setObjectValue:unAutreObjet ForTableColumn:taTableColumn row:index];

N'oublie pas de déclarer, allouer et initialiser tes 2 tableView

[27 mai 2002 : message édité par FBG]
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par FBG:
OK alors dans ton controller tu mets (en gros pour rester general) : (car les methodes que tu cites ne remplissent aucunement un tableView, elles en tirent juste qq infos) :
<HR></BLOCKQUOTE>


sérieux ?
ben mince, j'ai encore beaucoup à apprendre, moi... j'avais quand même bien l'impression que ces fonctions remplissaient mon tableview. en tout cas, aucun autre fonction dans mon prog le fait
confused.gif


merci en tout cas à vous deux, je vais tenter ça !
 
FGB, je n'ai pas testé ta solution...
wink.gif


NeoJF, je te remercie beaucoup, ta solution marche (et je me trouve limite con de ne pas y avoir pensé)... ça roule nickel comme je le voulais !