Ecriture dans les cellules d'un NSTableView

Eddy58Eddy58 Membre
00:26 modifié dans API AppKit #1
-(void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn row:(int)row
{
}

J'ai besoin d'un exemple utilisant la méthode ci-dessus, pour écrire directement dans les cellules d'un NSTableView. Je n'en ai pas vu sur le site Apple, et j'ai fait pleins d'autres sites sans succés. Quelqu'un sait ou je peux trouver ça ?  :crackboom:-

Réponses

  • ClicCoolClicCool Membre
    00:26 modifié #2
    Salut Eddy
    cette méthode est une des méthodes des table-datasources.

    1- Elle doit être implémentée par l'objet que tu déclare comme datasource de ta table.

    2- Dans l'implémentation de la méthode, il te suffit de vérifier éventuellement quelle table l'a appelée (tableView) puis en fonction de la colonne et de la ligne de renvoyer l'objet approprié pour la céllule ainsi désignée.
    Tu renvoies alors par exemple une NSTring dont la chaine sera affichée.

    ça répond à  ta question ?
  • Eddy58Eddy58 Membre
    00:26 modifié #3
    Merci ClicCool, mais je crois que ce dont tu me parles, c'est pour la méthode :

    -(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
    {}

    Celle-ci je la connais, pas de problèmes. :)
    Mais moi je parle dans l'autre sens.

    L'autre méthode est celle qui reçoit les données d'une édition directe dans la cellule d'un NSTableView. Je ne voyais pas comment l'utiliser, mais finalement j'ai trouvé. C'est tout simple, il suffit de fournir l'objet renvoyé à  la méthode accesseur voulue pour mettre le NSArray à  jour. :)
  • ClicCoolClicCool Membre
    00:26 modifié #4
    oups! ::)
    T'as raison Eddy.
    En effet c'est tout le contraire et t'as bien pigé le truc.
    J'voulais juste voir ... :P
Connectez-vous ou Inscrivez-vous pour répondre.