Notification de NSArrayController ?
aranaud
Membre
Est qu'il y a une fonction toute fait pour savoir si un object de la classe NSArrayController est mis à jours à partie de l'interface ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[m_arrayController addObserver:self
forKeyPath:@arrangedObjects
options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld
context:NULL
];
Vérifie la doc de addObserver:forKeyPath:options:context:
Attention ya embrouille avec cette méthode.
En observant un NSArrayController, on a la possibilité de savoir si quelque chose a changé dans l'objet géré mais par contre on n'obtient aucune info sur le contenu du changement. Les options NSKeyValueObservingNew | Old sont dans ce cas inopérantes.
(Rien n'est indiqué dans la doc et j'ai mis des mois avant de comprendre alors si je peux éviter à qqun la même perte de temps ...).
Pour savoir ce qui a été ajouté, retranché ou sélectionné, la seule façon que je connaisse est d'observer directement la collection gérée par le NSArrayController. Comme ça on récupère toutes les infos dans le "change" dictionary.