2 NSTableView 1 méthode numberOfRowsInTableView

BornToBeCocoaBornToBeCocoa Membre
19:37 modifié dans API AppKit #1
Hello,

J'essaie de créer une appli avec une fenêtre principale dans laquelle il y a deux NSTableView.

La fenêtre principale est gérée par une classe unique qui contient une seule méthode
<br />- (int)numberOfRowsInTableView:(NSTableView *)tableView<br />{<br />	NSLog(@&quot;NSTableView ayant appelé la méthode = %@&quot;, tableView);<br />	return;<br />}<br />

Au préalable j'ai bien sûr déclaré deux objets IBOutlet que j'ai connecté à  ma classe dans IB
IBOutlet NSTableView *tableViewUn;<br />IBOutlet NSTableView *tableViewDeux;

Evidemment l'exécution du code me renvoi :
NSTableView ayant appelé la méthode = &lt;NSTableView: 0x348c90&gt;

Comment faire pour savoir si c'est tableViewUn ou tableViewDeux qui a appelé la méthode ?
:why?:

Merci

Réponses

  • Eddy58Eddy58 Membre
    19:37 modifié #2
    Salut BornToBeCocoa :)

    Tu as juste à  comparer la valeur du pointeur de l'argument "tableView" de ta méthode datasource avec les valeurs pointeurs de tes variables d'instances "tableViewUn" et "tableViewDeux", ensuite tu renvoies le nombre de rangées selon la comparaison.
    [tt]
    -(int)numberOfRowsInTableView:(NSTableView *)tableView
    {
        if (tableView==tableViewUn)
        {
              return nbRows1;
        }
        if (tableView==tableViewDeux)
        {
              return nbRows2;
        }
    }
    [/tt]
  • BornToBeCocoaBornToBeCocoa Membre
    19:37 modifié #3
    Merci Eddy58 d'être venu une fois de plus à  mon aide 

    J'avais essayé cette solution mais elle ne fonctionnait pas aussi je croyais être sur la mauvaise piste.
    En fait cela fonctionne très bien mais à  condition que je supprime les bindings et que je gère moi même les NSTableView.

    Pour je ne sais quelle raison mystérieuse, avec les bindings, impossible de comparer la valeur du pointeur de l'argument "tableView" avec les valeurs des pointeurs des variables d'instances "tableViewUn" et "tableViewDeux".
    Il va falloir que je potasse un peu plus les bindings avant de m'en servir. Paradoxalement c'est sensé simplifier la vie mais je n'ai pas encore tout compris.

    En tout cas merci encore.
  • Eddy58Eddy58 Membre
    19:37 modifié #4
    Haaaa les bindings....personnellement je n'y connais rien là -dedans, bien que je compte m'y mettre un jour.::)
    J'estime que pour se mettre aux bindings, il faut déjà  une certaine expérience, afin de pleinement comprendre le moment venu ce qu'apportent les bindings par rapport au code "traditionnel", en terme de productivité et de fonctionnalités. Quand j'estimerais en savoir assez, je me pencherais sur ces fameux bindings.
    Mais si tu as des questions sur les bindings, notre spécialiste "bindingologue", ClicCool, se fera sûrement un plaisir d'y répondre. :)
Connectez-vous ou Inscrivez-vous pour répondre.