Je travaille sur ma première application Cocoa majeure pour un projet de recherche de premier cycle.Plusieurs vues et liste de sources dans une application Core Data
L'application est basée sur des documents et utilise des données de base. L'une des entités est une entité abstraite, Page. Page
est parent de plusieurs types de pages: PageWithHeaderAndFooter, PageWithTwoColumns, BasicPage
etc Page
possède des attributs, tels que le titre et l'auteur, que toutes les pages ont en commun. Chaque type spécifique de page a un certain nombre de blocs de mise en page (PageWithHeaderAndFooter
a trois: en-tête, pied de page, corps BasicPage
a un: corps, etc.) En outre, toutes les sous-classes Page
définissent des implémentations spécifiques à la mise en page de certaines méthodes. L'autre entité pertinente est Style
, qui définit l'apparence visuelle d'un Page
. (Pensez à Page
s comme HTML et Style
comme CSS.)
Je voudrais que mon application ait une liste source iTunes/Mail avec des sections. (Une section serait Pages, l'autre serait Styles.) J'ai une assez bonne idée comment faire la liste des sources sectionnées (this was a great help).
Cependant, après les heures de headbanger et googler inutile, voici ce que je ne peux pas comprendre:
Pages et styles répertoriés dans la liste des sources, et lorsque vous sélectionnez l'un d'eux, tous les domaines pertinents pour cet objet apparaît à droite (principalement NSTextViews, menus déroulants, etc.). Je l'ai exposé et j'ai fait toutes les liaisons dans Interface Builder.
Le problème est que, si ma liste de sources contient différents types de pages, comment puis-je obtenir une vue différente à afficher à droite en fonction du type de page sélectionné? Par exemple, si un BasicPage
est sélectionné, je veux juste ce que vous voyez ci-dessus: la page générale et un NSTextView qui correspond au champ body
de BasicPage
. Mais si je sélectionne un PageWithHeaderAndFooter
, je veux afficher le contenu général de la page plus trois NSTextViews (un pour l'en-tête, le corps et le pied de page.) Si j'ai un Style
sélectionné, je veux afficher divers menus contextuels, puits de couleurs, etc.
Pour les pages au moins, nous parlons seulement d'un ou plusieurs NSTextViews, dont chacun correspond à un attribut String de l'entité respective.
Comment voulez-vous faire cela?
Nous vous remercions de votre aide!