2009-05-12 4 views
-1

Je développe une application de données de base, et voudrais ajouter une fonctionnalité comme la fonctionnalité de groupes dans iChat à mon application. La fonction serait affichée dans la table avec des lignes de table normales et plus de groupes pourraient être créés. D'autres lignes de la table pourraient être déplacées dans le groupe et le groupe pourrait être réduit et ouvert. De quel code aurais-je besoin pour le faire et est-ce possible?Comment ajouteriez-vous une fonctionnalité de groupe comme iChat à votre Core Data App?

Répondre

3

Découvrez NSOutlineView. Fondamentalement, ce que vous allez vouloir est deux entités de données de base différentes: Group et Child. Group aurait une relation to-many, children, à Child objets, et Child aurait une relation to-one, parent, à une entité Group.

Cela suffit pour définir le modèle de base. Passé cela, vous devez briser votre question plus bas. Par exemple, comment implémenter glisser & glisser à l'aide des données de base? Cela a été répondu à plusieurs reprises. Comment puis-je mélanger deux types d'entités différents dans une seule vue de plan? A également répondu avant. Briser la question dans chaque sous-tâche individuelle et chercher une réponse - je parie que la plupart d'entre eux ont une réponse sur Stack Overflow.

+0

Mais comment est-ce que je ferais en sorte que vous puissiez avoir des objets enfants dans le groupe et qu'il pourrait être réduit? – Joshua

+0

J'ai aussi cherché la question "Comment puis-je mélanger deux types d'entités différents dans une seule vue de plan?" et des mots similaires, mais il n'a trouvé aucun résultat. – Joshua

+0

La façon habituelle de mélanger les types d'objets dans une vue hiérarchique (que je suppose liée à un NSTreeController) consiste à faire partager aux entités Group et Child un type d'entité parent commun (par exemple, OutlineItem) et à définir l'entité du contrôleur. tapez OutlineItem pour que les deux types d'entité puissent coexister. –

Questions connexes