2009-10-31 9 views
8

Próbuję zrozumieć kluczowe różnice między tymi dwoma typami szablonów aplikacji danych podstawowych.Aplikacja oparta na dokumentach bazująca na Core Data vs zwykłej aplikacji Core Data?

Rozumiem, że dzięki opartej na dokumentach aplikacji danych podstawowych zyskujesz dostęp do instancji NSDocument i wielu zachowań opartych na dokumentach za darmo (zapisywanie okien dialogowych, cofanie itp.).

Zakładając, że chcę utworzyć aplikację bardziej opartą na "Projekcie" i niekoniecznie skupioną na tworzeniu indywidualnych dokumentów, czy nadal powinienem używać Core Data with Documents?

Aby być bardziej konkretnym, staram się zbudować prostą aplikację CMS przy użyciu danych podstawowych i która generuje strony html w uporządkowany sposób. Idea aplikacji będzie koncentrować się na "witrynach", które są naprawdę projektami, a nie pojedynczymi dokumentami. Projekty zawierają skonsolidowany model dla różnych postów, stron, zawartości paska bocznego i dowolnej zawartości, która może być potrzebna do wejścia na stronę. Ale aplikacja nie zapisuje poszczególnych stron jako dokumentów w tradycyjnym znaczeniu. Chcę ujednoliconego modelu wszystkich danych projektu i zapewnić funkcję eksportu, w której cały model aplikacji zostanie wyrażony jako zestaw dokumentów HTML w określonym folderze projektu.

Jest to zarówno ćwiczenie do nauki, jak i coś, co chcę zbudować dla siebie.

Jakieś wskazówki dotyczące konkretnej dokumentacji do przeczytania? W szczególności informacje o aplikacjach kakao opartych na "Projekcie" oraz przydatne próbki i samouczki.

Można sobie wyobrazić, że model danych CMS mógłby być przechowywany w pojedynczym dokumencie danych podstawowych, ale niekoniecznie wydaje się właściwy z architektonicznego punktu widzenia.

Odpowiedz

4

Projekt może być dokumentem, a dokument nie musi być pojedynczym plikiem. Zapoznaj się z dokumentacją związaną z NSDocument i zdecyduj, czy oferuje ona jakąkolwiek funkcjonalność, którą możesz być zainteresowany.

+0

Ok, dzięki. Właśnie tego się zastanawiałem. –

4

Postrzegam różnicę jako, że aplikacja oparta na dokumencie pozwala użytkownikowi przechowywać wiele zestawów informacji przechowywanych osobno.

Najlepszym przykładem, z punktu widzenia funkcjonalności, jest iTunes. Apple nie pozwala mieć wielu bibliotek, to wszystko lub nic, jedna "baza danych" dla całej aplikacji.

Prosta aplikacja oparta na dokumentach będzie podobna do TextEdit.

Nie sądzę, że to, co proponujesz, jest zbyt różne od pojedynczej aplikacji opartej na dokumencie - musisz tylko pamiętać, że tworzone strony internetowe są WYJŚCIEM, a nie częścią projektu. W ten sam sposób, w jaki nie myślisz o wydrukach z TextEdit będących częścią dokumentu. Lub obiekty/pliki wykonywalne w XCode będące częścią projektu.

Powiązane problemy