Je travaille sur une application avec la cette interface (désolé la langue est le néerlandais): (. Y compris les quatre NSTextFields)liaisons NSTableView comment ajouter une ligne
http://www.flickr.com/photos/pluueer/5756159100/
La fonction Ajouter sous la NSTableView doit être déplacé vers une feuille un jour, mais pour l'instant c'est très bien. J'ai mis en place des liaisons selon un tutoriel (http://cocoadevcentral.com/articles/000080.php), mais le tutoriel ne fournit pas comment ajouter des lignes comme je le souhaite (ajoute juste une ligne vide vous devez éditer dans NSTableView).
J'ai une connexion entre le bouton 'Voeg toe' (Néerlandais pour 'Add') et le contrôleur Array. Mais après avoir cliqué sur je reçois le message:
2011-05-28 23:37:56.149 Hop Calc[4345:a0f] -[__NSPlaceholderDictionary initWithObjects:forKeys:]: number of objects (0) not equal to number of keys (4)
Il est logique, parce que je ne l'ai pas quoi que ce soit pour ajouter des lignes mis en œuvre, mais je ne sais pas comment.
Oui, je voulais dire le contrôleur de tableau :) J'ai réintroduit les méthodes que j'avais avant d'ajouter des liaisons. Je peux dire que les objets sont ajoutés au tableau, mais je n'arrive pas à forcer l'actualisation de TableView. Comment puis je faire ça? – Joran
Comment ajoutez-vous les objets? Si vous les ajoutez directement au tableau de contenu (comme dans, n'utilisant pas les méthodes du contrôleur de tableau), vous le «faites derrière le contrôleur RAID» pour qu'il ne voie pas les mises à jour. N'ajoutez pas d'objets directement à la matrice contrôlée par le contrôleur de groupe; utilisez -addObject de NSArrayController: (et insert/remove associé) pour que le contrôleur de tableau "connaisse" son tableau de contenu modifié. –
Autrement dit, "forcer un rafraîchissement de la vue de la table" n'est pas non plus la bonne façon d'y penser. La vue de la table sera notifiée par le contrôleur, comme il se doit, lorsqu'une modification se produit. –