В приложении на основе документа документ должен представлять файл? - PullRequest
1 голос
/ 02 июня 2011

Я почти на 90% уверен, что моя программа выиграет от использования каркаса документов в Какао, но есть одна вещь, в которой я не уверен.

Во всех примерах, которые я видел, подкласс NSDocument всегда представляетсохраняемый файл, который не совсем подходит для моего приложения.

Файл, который будет сохранен на диске в моем приложении, будет набором объектов, которые будут отредактированы в программе.Когда будет создан новый файл, пользователь сможет редактировать отдельные сущности, содержащиеся в этой коллекции, что потребует отслеживания состояния и изменений (сохранение, отмена и т. Д.).

Будет ли работать приложение на основе документов таким образом или будетЯ постоянно сражаюсь с фреймворком?

Обновлен, чтобы прояснить мой вопрос:

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

Подумайте о такой программе, как Microsoft Access;Файл - это база данных, а документы - это такие вещи, как формы, отчеты, запросы и макросы.Каждый элемент редактируется в отдельном окне документа, и изменения могут быть либо сохранены, либо отменены в отдельных документах, но сохраняется база данных вся (включая все формы, отчеты и запросы).

1 Ответ

2 голосов
/ 02 июня 2011

Я не уверен, применимо ли это к вашему приложению, но вы можете связать ваш NSDocument с пакетом, чтобы ваш документ был не просто файлом, а именно набором файлов, с которыми вам нужно работать.

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

Эта ТАКОВАЯ тема даст вам подсказку, на чтодолжен быть изменен по умолчанию NSDocument.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...