Об архитектуре документа какао

В OS X подсистема Какао, названная архитектурой документа, предоставляет поддержку для приложений, управляющих документами, которые являются контейнерами для пользовательских данных, которые могут храниться в файлах локально и в iCloud.

../Art/syncing_overview_2x.png

Сразу

Основанные на документе приложения обрабатывают многократные документы, каждого в его собственном окне, и часто выводят на экран больше чем один документ за один раз. Несмотря на то, что эти приложения воплощают много сложных способов поведения, архитектура документа обеспечивает многие их возможности “свободного”, требуя небольшого дополнительного усилия в разработке и реализации.

Образец Контроллера представления Модели является основным к основанному на документе приложению

Архитектура документа Какао использует шаблон разработки Model-View-Controller (MVC), в котором объекты модели инкапсулируют данные приложения, просматривают дисплей объектов данные и действие объектов контроллера как посредники между представлением и объектами модели. Документ, экземпляр NSDocument разделите на подклассы, контроллер, управляющий моделью данных приложения. Соблюдение шаблона разработки MVC позволяет Вашему приложению соответствовать беспрепятственно архитектуре документа.

Кодирование поддержек XCode и конфигурирование Вашего приложения

При использовании в своих интересах поддержки, предоставленной XCode, включая основанный на документе шаблон приложений и интерфейсы для конфигурирования данных приложения, можно создать основанное на документе приложение, не имея необходимость писать много кода. В XCode Вы разрабатываете пользовательский интерфейс своего приложения в графическом редакторе, указываете права для ресурсов, таких как Тестовая среда приложения и iCloud, и конфигурируете список свойств приложения, указывающий глобальные ключи приложения и другую информацию, такие как типы документов.

Необходимо разделить NSDocument на подклассы

Основанные на документе приложения в Какао создаются вокруг подкласса NSDocument то, что Вы реализуете. В частности необходимо переопределить один метод чтения документа и один метод записи документа. Вы должны разработка и реализация модель данных Вашего приложения, является ли это просто единственным текстовым объектом хранения или диаграммой составного объекта, содержащей разрозненные типы данных. Когда Ваш метод чтения получает запрос, он берет данные, предоставленные платформой, и загружает его соответственно в Вашу объектную модель. С другой стороны Ваш метод записи берет данные модели Вашего приложения и обеспечивает его для машинного оборудования платформы для записи в файл документа, расположено ли это только в Вашей локальной файловой системе или в iCloud.

NSDocument предоставляет базовые возможности поведения и настройки

Архитектура документа Какао предоставляет Вашему приложению много встроенных функций, таких как автоматическое сохранение, асинхронное чтение документа и запись, координация файла и многоуровневая поддержка отмены. В большинстве случаев это тривиально для выбора - в к этим способам поведения. Если Ваше приложение имеет определенные требования вне значений по умолчанию, архитектура документа предоставляет много возможностей для расширения и настройки возможностей Вашего приложения через механизмы, такие как делегация, разделение на подклассы и переопределение существующих методов с пользовательскими реализациями и интеграции пользовательских объектов.

Предпосылки

Перед чтением этого документа необходимо быть знакомы с информацией, представленной в Руководстве по программированию Приложения Mac.

См. также

См. Основанное на документе Руководство по программированию Приложения для iOS для получения информации о том, как разработать основанное на документе приложение для iOS с помощью UIDocument класс.

Для получения информации о iCloud см. Руководство по проектированию iCloud.

Руководство по программированию Поиска Метаданных файла описывает, как провести поиски с помощью NSMetadataQuery класс и связанные классы. Вы используете запросы метаданных для определения местоположения документов приложения, хранивших в iCloud.

Для получения информации о том, как опубликовать Ваше приложение в App Store, посмотрите Руководство по Распределению приложений.