Dans ma configuration, j'ai un NSCollectionView de volumes connectés au mac. Pour la vue de NSCollectionViewItem, j'ai une NSBox avec un NSTableView à l'intérieur de la liste du contenu de ce volume.Mise à jour de NSTableView dans une instance de NSCollectionViewItem
Mon problème survient lorsque j'essaie d'ajouter/supprimer des éléments à NSTableView. La NSBox semble être initialisée une seule fois, il n'y a donc qu'une seule NSTableView. Cela signifie que lorsque je veux mettre à jour les données dans NSTableView, je ne peux pas appeler reloadData sur un IBOutlet et le mettre à jour toutes les tables.
Si je crée un IBOutlet dans une sous-classe de la NSBox, il est nul pour l'instance, donc je ne peux pas l'appeler via cela. Le plus proche est venu en entourant un @try @catch autour du code qui renvoie l'objet à une rangée dans une colonne, une exception se produit parce que cet élément n'existe plus, donc je peux saisir le tableView et appeler reloadData , qui semble mettre à jour ce NSTableView spécifique. Le problème avec ceci est que si l'élément retiré est à la fin de la table, ou si un élément est ajouté, l'exception ne se produira pas car il peut voir tous les éléments existants.
Est-ce que quelqu'un a déjà eu une expérience avec un NSTableView sur une vue NSCollectionViewItem? Comment avez-vous mis à jour les tables?
J'ai écrit un [article de blog sur NSCollectionView] (http://benedictcohen.co.uk/files/5b81e3c40cee2daf88ceffe6eb556a63-3.php) que vous pouvez trouver utile. –
Merci pour le guide. Je ne sais pas si les choses ont beaucoup changé depuis que vous l'avez écrit, mais j'ai trouvé que -LoadFromNib n'existait pas et utilisé -loadNibNamed à la place. – Septih