2009-10-31 7 views
8

Ich versuche zu verstehen, die wichtigsten Unterschiede zwischen diesen beiden Arten von Core Data Application Templates.Document Based App mit Core Data vs. Plain Core Data App?

Mein Verständnis ist, dass Sie mit einer dokumentbasierten Kerndaten-App Zugriff auf NSDocument-Instanzen und viele dokumentenbasierte Verhaltensweisen kostenlos erhalten (Speichern von Dialogen, Rückgängigmachen usw.).

Angenommen, ich möchte eine Anwendung erstellen, die mehr auf "Projekt" basiert und nicht unbedingt auf die Erstellung einzelner speicherbarer Dokumente ausgerichtet ist, sollte ich trotzdem Core Data with Documents verwenden?

Um konkreter zu sein, versuche ich eine einfache CMS-Anwendung zu erstellen, die Kerndaten verwendet und HTML-Seiten in einer strukturierten Weise ausgibt. Die Idee der App würde sich auf "Sites" konzentrieren, die wirklich Projekte und nicht einzelne Dokumente sind. Die Projekte enthalten ein konsolidiertes Modell für verschiedene Posts, Seiten, Seitenleisteninhalte und alle Inhalte, die für eine Website benötigt werden. Die App speichert jedoch keine einzelnen Seiten als Dokumente im herkömmlichen Sinne. Ich möchte ein einheitliches Modell aller Projektdaten und eine Exportfunktionalität bereitstellen, bei der das gesamte Anwendungsmodell als eine Menge von HTML-Dokumenten in einem bestimmten Projektordner ausgedrückt wird.

Dies ist sowohl eine Lernübung als auch etwas, was ich für mich selbst ausprobieren möchte.

Irgendwelche Tipps zur spezifischen Dokumentation zu lesen? Insbesondere Informationen zu "Projekt" -basierten Kakao-Apps sowie nützliche Beispiele und Tutorials.

Es ist denkbar, dass das CMS-Datenmodell in einem einzigen Core-Datendokument gespeichert werden könnte, was jedoch aus architektonischer Sicht nicht unbedingt richtig erscheint.

Antwort

4

Ein Projekt kann ein Dokument sein und ein Dokument muss nicht eine einzige Datei sein. Lesen Sie die NSDocument-Dokumentation, und entscheiden Sie, ob sie Funktionen anbietet, die Sie interessieren könnten.

+0

Ok, danke. Das war es, worüber ich mich wunderte. –

4

Ich sehe den Unterschied darin, dass eine dokumentbasierte Anwendung den Benutzer mehrere Sätze von Informationen getrennt gespeichert hat.

Das beste Beispiel für die Funktionalität ist iTunes. Apple lässt nicht mehrere Bibliotheken zu, es ist alles oder nichts, eine "Datenbank" für die gesamte Anwendung.

Eine einfache dokumentbasierte Anwendung wäre etwas wie TextEdit.

Ich denke nicht, was Sie vorschlagen, ist zu verschieden von einer einzelnen Dokument basierten Anwendung, obwohl - Sie müssen nur daran denken, dass die Webseiten, die Sie produzieren, ein OUTPUT sind, kein Teil des Projekts. Genauso, wie Sie die gedruckte Ausgabe von TextEdit nicht als Teil des Dokuments betrachten. Oder Objekt/ausführbare Dateien in XCode als Teil des Projekts.