2009-08-12 6 views

Répondre

1

Une réponse psuedocode rapide:

Dans la méthode qui est appelée lorsque vous ajoutez une ligne:

  1. Créer le nouvel objet
  2. Ajouter à tout ce qui est le stockage des objets (un tableau, contrôleur d'arborescence, magasin de données, etc.)
  3. Recherchez dans le magasin l'index (numéro de ligne) de l'objet que vous avez ajouté. C'est là que vous obtenez le numéro de ligne qui est appelé: -
  4. appelez -editColumn:row:withEvent:select: comme dans la réponse de John Calsbeek.
+0

Où est la méthode appelée lorsque vous ajoutez une ligne, sachant que mon application utilise des données de base? – Joshua

+0

Cela dépend de la façon dont vous ajoutez une ligne. Si vous cliquez sur un bouton, où va le message? – Abizern

+0

Cela va à l'action 'add' de mon NSTreeController. – Joshua

2

Une fois que vous ajoutez la ligne, envoyer -editColumn:row:withEvent:select: au NSOutlineView:

[outlineView editColumn:0 row:newRowIndex withEvent:nil select:YES]; 

Ceci est en fait un message NSTableView, mais depuis NSOutlineView dérive de NSTableView, il faut travailler pour les vues de plan aussi.

+0

Ok. Alors devrais-je mettre le code dans la source de données de 'NSOutlineView'? Aussi comment pourrais-je le faire envoyer quand vous ajoutez une ligne? – Joshua

+0

Vous enverriez ce message juste après l'envoi du message pour ajouter la ligne. –

+0

Où est la méthode qui envoie le message pour ajouter une ligne? – Joshua

Questions connexes