2010-05-24 6 views
1

J'ai une NSWindow qui apparaît lorsque vous cliquez sur l'un des deux éléments (les deux à partir d'un NSTableView). J'ai une méthode de setter qui indique à la fenêtre quelles informations afficher. Tout fonctionne parfaitement, jusqu'à ce qu'il soit temps d'afficher les données dans la fenêtre. Si je provoque l'affichage de la fenêtre à partir d'une vue de table, alors essayez d'afficher les nouvelles données d'une autre personne, elle ne le fait pas, elle conserve les anciennes données. J'utilise exactement la même méthode pour obtenir et afficher les données des deux manières possibles d'afficher la fenêtre et les données changent correctement. Pour afficher la fenêtre J'utilise [mywindow makeKeyAndOrderFront:self];Cocoa NSWindow ne pas mettre à jour avec des données

et une vue de table est dans la même classe que la fenêtre, tandis que l'autre ne

Répondre

-1

Il se trouve que je suis stupide et ne pas appeler [myWindow showWindow:self];

+0

Cela n'a rien à voir avec la mise à jour des données affichées dans les vues de la fenêtre. Ce n'est même pas une méthode NSWindow; C'est une méthode NSWindowController. –

0

Avez-vous essayé d'appeler [[mywindow contentView] setNeedsDisplay:YES]; après votre appel makeKeyAndOrderFront:?

+0

oui, mais cela n'a pas –

+0

qui fonctionne de vue de la table et que l'on n'a pas? Si la vue de table qui est dans une classe différente de la fenêtre est celle qui ne fonctionne pas, il y a probablement un problème avec la façon dont les classes sont connectées. Dans les deux cas, il serait utile de voir plus de code. – Isaac

+0

il n'y a plus vraiment de code à voir. Je dis à la fenêtre quelles données afficher et il le fait. Cela fonctionne bien si je le mets les données dans la même classe, mais si c'est différent, les données arrivent à la méthode qui insère les données, et il semble être inséré, mais la fenêtre ne le montre pas –

Questions connexes