Ich versuche, die Hauptunterschiede zwischen diesen beiden Arten von Core Data-Anwendungsvorlagen zu verstehen.
Mein Verständnis ist, dass Sie mit einer dokumentbasierten Kerndaten-App kostenlos auf NSDocument-Instanzen und viele dokumentenbasierte Verhaltensweisen zugreifen können (Speichern von Dialogen, Rückgängigmachen usw.).
Angenommen, ich möchte eine Anwendung erstellen, die eher "Projekt" -basiert ist und nicht unbedingt auf die Erstellung einzelner speicherbarer Dokumente ausgerichtet ist, sollte ich Core Data with Documents weiterhin verwenden?
Um konkreter zu sein, versuche ich, eine einfache CMS-Anwendung zu erstellen, die Kerndaten verwendet und HTML-Seiten strukturiert 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 zu spezifischer Dokumentation zu lesen? Insbesondere Informationen über "Projekt" basierte Kakao-Apps und nützliche Beispiele und Tutorials.
Es ist denkbar, dass das CMS-Datenmodell in einem einzigen Core-Datendokument gespeichert werden könnte, was aber aus architektonischer Sicht nicht unbedingt richtig erscheint.
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.
Ich sehe den Unterschied darin, dass eine dokumentenbasierte Anwendung dem Benutzer mehrere Sätze von Informationen zur Verfügung stellt, die separat gespeichert werden.
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 dokumentbasierten Anwendung, obwohl - Sie müssen nur daran denken, dass die Webseiten, die Sie produzieren, ein OUTPUT sind, nicht ein Teil des Projekts. Genauso, wie Sie die gedruckte Ausgabe von TextEdit nicht als Teil des Dokuments betrachten. Oder Objekt / ausführbare Dateien in XCode , die Teil des Projekts sind.