Problème de tri OutlineView

helgrindhelgrind Membre
15:48 modifié dans API AppKit #1
Bonjour,

j'ai quelques petits problèmes de tri avec une NSOutlineView, bindée à  un NSTreeController.

Dans un awakeFromNib, je fais cela:
NSArray *sort = [[NSArray alloc] initWithObjects:<br />	[[[NSSortDescriptor alloc] initWithKey:@&quot;priority&quot; ascending:NO&nbsp; <br />		selector:@selector(compare:)] autorelease],<br />&nbsp;  [[[NSSortDescriptor alloc] initWithKey:@&quot;name&quot; ascending:YES&nbsp; <br />		selector:@selector(caseInsensitiveCompare:)] autorelease], nil];<br /><br />&nbsp; &nbsp; [treeController setSortDescriptors:sort];<br />&nbsp; &nbsp; [sort release];<br /><br />&nbsp; &nbsp; [treeController rearrangeObjects];<br />


pour pouvoir trier les éléments en fonction de leur priorité (un nombre) et de leur nom.
Jusque là  tout va bien, au lancement de l'app tous les éléments sont triés correctement.

Mais ensuite si je fait un drag&drop ou j'ajoute un élément à  l'outlineview, la outlineview ne trie plus rien!

Réponses

  • Philippe49Philippe49 Membre
    15:48 modifié #2
    Essaye de trier la NSArray qui sert de model à  ton NSTreeController.
  • Philippe49Philippe49 Membre
    15:48 modifié #3
    Un lien sur un problème analogue ICI
  • helgrindhelgrind Membre
    15:48 modifié #4
    dans 1216464568:

    Essaye de trier la NSArray qui sert de model à  ton NSTreeController.


    Le NSArray est bien trié mais le treeController n'en prend pas compte.

    J'ai lu ton post mais je ne vois pas trop comment ca pourrait résoudre le problème  :)
  • Philippe49Philippe49 Membre
    juillet 2008 modifié #5
    dans 1216478580:

    Le NSArray est bien trié mais le treeController n'en prend pas compte.

    C'est un problème de mise à  jour de l'interface ?
    Si tu collapses l'élément root de ton outline view, est-ce que cela remet tout en place ?

    dans 1216478580:

    J'ai lu ton post mais je ne vois pas trop comment ca pourrait résoudre le problème  :)

    bof ...  ::)  ça coûte rien d'essayer,
    Cependant ton drag&drop, c'est bien un ajout, c'est-à -dire la méthode insert: . C'est ce dont parle ce post.
  • helgrindhelgrind Membre
    15:48 modifié #6
    dans 1216479557:

    C'est un problème de mise à  jour de l'interface ?
    Si tu collapses l'élément root de ton outline view, est-ce que cela remet tout en place ?

    Mon élément root n'est pas "collapsable".

    dans 1216479557:

    bof ...  ::)  ça coûte rien d'essayer,
    Cependant ton drag&drop, c'est bien un ajout, c'est-à -dire la méthode insert: . C'est ce dont parle ce post.

    Non, j'utilise la méthode moveNode:toIndexPath:
Connectez-vous ou Inscrivez-vous pour répondre.