Я пытаюсь понять ключевые различия между этими двумя типами шаблонов приложений Core Data.
Насколько я понимаю, с приложением основных данных на основе документов вы получаете бесплатный доступ к экземплярам NSDocument и множеству поведений на основе документов (сохранение диалогов, отмена и т. д.).
Предполагая, что я хочу создать приложение, которое больше основано на «Проекте» и не обязательно ориентировано на создание отдельных сохраняемых документов, должен ли я по-прежнему использовать Core Data с документами?
Чтобы быть более конкретным, я пытаюсь создать простое приложение CMS, используя основные данные и выводя html-страницы структурированным образом. Идея приложения будет сосредоточена на «сайтах», которые на самом деле являются проектами, а не отдельными документами. Проекты содержат консолидированную модель для различных сообщений, страниц, содержимого боковой панели и всего содержимого, которое может потребоваться для размещения на веб-сайте. Но приложение не сохраняет отдельные страницы как документы в традиционном понимании. Я хочу унифицированную модель всех данных проекта и предоставить функции экспорта, при которых вся модель приложения будет выражаться в виде набора html-документов в указанной папке проекта.
Это одновременно и обучающее упражнение, и то, что я хочу попробовать и построить для себя.
Любые советы по конкретной документации для чтения? В частности, информация о приложениях какао на основе «Проекта», а также полезные образцы и учебные пособия.
Вполне возможно, что модель данных CMS может быть сохранена в одном документе Core Data, но это не обязательно кажется правильным с архитектурной точки зрения.
2 ответа
Проект может быть документом, а документ не обязательно должен быть одним файлом. Прочтите документацию, связанную с NSDocument, и решите, предлагает ли она какую-либо функциональность, которая может вас заинтересовать.
Я смотрю на разницу в том, что приложение на основе документа позволяет пользователю иметь несколько наборов информации, хранящихся отдельно.
Лучшим примером с точки зрения функциональности является iTunes. Apple не позволяет вам иметь несколько библиотек, все или ничего, одна «база данных» для всего приложения.
Простое приложение на основе документов будет чем-то вроде TextEdit.
Я не думаю, что то, что вы предлагаете, слишком отличается от приложения на основе одного документа - вам просто нужно помнить, что веб-страницы, которые вы создаете, являются ВЫВОДОМ, а не частью проекта. Точно так же вы не думаете, что печатный вывод из TextEdit является частью документа. Или объектные/исполняемые файлы в XCode, являющиеся частью проекта.
Похожие вопросы
Новые вопросы
cocoa
Cocoa - это среда разработки приложений Apple для macOS, состоящая из Foundation, Application Kit и Core Data. Используйте тег «Какао-touch» для вопросов iOS.