0

J'ai deux TableViews (une SourceList et une TableView normale). Je n'utilise pas ArrayControllers, j'utilise simplement:Avoir plus de un NSTableView avec un contenu différent - n'affiche pas les données

- (id)tableView:(NSTableView *)aTableView 
objectValueForTableColumn:(NSTableColumn *)aTableColumn 
      row:(NSInteger)rowIndex; 

- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView; 

pour afficher le contenu de la ligne. Mais le problème est que je n'ai pas seulement un TableView - j'en ai plus d'un. J'ai donc ajouté un autre NSObject avec ce code à l'intérieur. Mais le contenu ne montrera pas.

Dois-je utiliser des contrôleurs de tableau? Ou puis-je afficher le contenu de la deuxième TableView d'une autre manière?

Répondre

0

Vous n'avez pas besoin d'utiliser des contrôleurs RAID. En fait, ils n'existaient même pas pendant la plus grande partie de la vie de Cocoa. Le protocole de source de données fonctionne très bien (encore mieux dans certains cas). Bien sûr, vous pouvez avoir des contrôleurs distincts (un pour chaque table), mais notez que vous obtenez une référence à la vue tabulaire dans chacune des méthodes de source de données et de délégation (aTableView dans votre source ci-dessus), donc vous pouvez donner une réponse différente en fonction de la vue de la table. De cette façon, un contrôleur peut être responsable des deux tables dans votre interface maître/détail. En d'autres termes:

Vue de la table: "Qu'est-ce que la colonne A de la rangée 3?"

Votre contrôleur: "Qui demande?" En ce qui concerne vos données non affichées, avez-vous instancié votre deuxième contrôleur et connecté la source de données de la table à problème? Avez-vous demandé à la table de -reloadData? Il est difficile de vous aider avec les informations limitées que vous avez données.

+0

Tout d'abord je vous remercie pour votre réponse - cette idée était dans mon esprit pour. Mais je n'ai pas pu le développer: S Oui Mon deuxième contrôleur est la DataSource de ma deuxième TableView, mais non je ne fais pas de reloadData – ahmet2106

+0

Appel -reloadData est nécessaire pour que la vue de table affiche ses données lors de l'utilisation de protocole. –

Questions connexes