NSTableView
Core
Membre
Bonjour,
J'ai suivi pas à pas le tuto de CocoaDev sur le NSTableView mais rien à faire rien ne s'affiche dans ma table.
J'ai une classe "controlleur", dont l'intance dans IB est réliée par le dataSource et par le Delegate à la table
J'ai fait un tableau test avec des NSStrings dedans mais rien ne s'affiche...
Si quelqu'un pouvais me filer un petit coup de pouce !
J'ai suivi pas à pas le tuto de CocoaDev sur le NSTableView mais rien à faire rien ne s'affiche dans ma table.
J'ai une classe "controlleur", dont l'intance dans IB est réliée par le dataSource et par le Delegate à la table
J'ai fait un tableau test avec des NSStrings dedans mais rien ne s'affiche...
Si quelqu'un pouvais me filer un petit coup de pouce !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
http://www.cocoadev.com/index.pl?NSTableViewTutorial
A la différence que le tableau est un tableau avec 3 NSStrings (j'ai vérifié le contenu du tableau.
IL semblerait que ma NSTableView n'appelle pas les méthodes pour se remplir.
Je m'expose certainement à des réflexions du style :
" Grand Dieu!!! non, mais c'est n'importe quoi ce que tu as fait" mais c'est pas grave. L'échec est le privilège de celui qui essaie
Merci D'avance
[Fichier joint supprimé par l'administrateur]
Bon, la grosse erreur que tu as faites, a été de sous-classer NSTableView pour t'en servir de controleur. J'ai effacé ta classe "table", que j'ai remplacée par une classe "Controleur", sous-classe de NSObject. Je l'ai instanciée et réglée en data source de ta tableview.
Ton NSMutableArray n'était pas instancié, je l'ai fait dans awakeFromNib, avant ta boucle de remplissage de ton array.
Voilà , étudie attentivement le fichier nib et la classe Controleur pour comprendre comment ça marche, et si tu as des questions n'hésites pas. :P
[Fichier joint supprimé par l'administrateur]
Je vais me pencher sur tes modifs et merci bcp
J'ai encore 2 petites question :
_ Quel type d'objet est capable d'afficher un NSTableView à part un NSString et NSNumber ?
_ Dans le tutoriel cité ci dessus, il parlent de relier le deleguate, je ne suis pas vraiment sur de comprendre cette notion de "deleguate"
2) Les méthodes delegates permettent d'interagir sur le comportement d'un objet. Quand tu fais un objet delegate d'un autre, ce dernier va appeler ses méthodes delegate, qui seront donc implémentées dans l'objet delegate. Tu met les méthodes que tu veux, selon tes besoins. Par exemple, la méthode delegate suivante de la classe NSTableView :
[tt]
- (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView
[/tt]
Celle-ci te renseigne sur le fait que l'utilisateur a cliqué sur une ligne de la tableview et que la sélection sera donc changée, mais si pour une raison ou une autre tu ne veux pas qu'elle soit changée, il te suffit de mettre un NO en retour.
Exemple :
[tt]
-(BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView
{
   if (value==10)
   {
     return NO;
   }
   else
   {
     return YES;
   }
}
[/tt]
Si la variable "value" est égale à 10, la sélection ne sera pas changée, mais si c'est une autre valeur, alors le changement sera autorisé.
Le sujet des delegates est assez vaste, mais ils permettent d'éviter élégamment le sous-classement.
Tu peux aller lire ce topic pour en savoir un peu plus :
http://www.objective-cocoa.org/forum/index.php?topic=208.0