J'ai configuré un NSCollectionView via Interface Builder. Ma vue prototype contient un indicateur de progression et un champ de texte. J'ai mis en place les liaisons pour que mon objet "task" maintienne la valeur de l'indicateur de progression et la valeur du champ de texte.NSCollectionView ne met pas à jour les sous-vues lors du changement de données
Tout fonctionne bien lorsque j'ajoute de nouveaux objets à la collection (via [NSCollectionView newItemForRepresentedObject:]
que j'ajoute à mon contrôleur RAID). La valeur initiale de l'indicateur de progression et le champ de texte sont définis de manière appropriée. Cependant, lorsque les valeurs changent, elles ne sont pas reflétées dans la vue prototype. Les valeurs conservent toujours leur valeur initiale.
J'ai essayé d'ajouter un pointeur sur la vue prototype dans l'objet "tâche" et d'essayer de forcer une mise à jour via [NSView setNeedsDisplay:TRUE]
mais en vain. J'ai sous-classé la vue prototype et lui ai donné une sortie à l'indicateur de progression afin que je puisse l'inspecter pour voir sa valeur à l'exécution et assez étrangement, même si la vue est créée avec succès, l'indicateur de progression ne l'est pas! Tout à fait contradictoire avec le fait qu'il affiche et conserve en fait une valeur initiale!
Est-il possible, en utilisant la configuration actuelle, de propager les modifications à la vue?
Merci d'avance.
La valeur de la barre de progression est liée à une valeur de type double variable. Il est également référencé par une sortie définie dans la sous-classe de la vue prototype. Qu'entendez-vous exactement par l'envoi de notifications KVO? –
Yip c'était bien, au lieu d'utiliser la méthode setter - utilisez [self setValue: forKey]! Merci beaucoup! –
Vous devez marquer cette réponse comme correcte :-) –