NSTreeController как сохранить в файл - PullRequest
1 голос
/ 05 февраля 2010

Привет! Я использую NSTreeController для управления NSOutlineView. Это приложение загружает закладки из файла в приложение. Как в примере SourceView в ADC:

http://developer.apple.com/mac/library/samplecode/SourceView/index.html

Мои вопросы: как сохранить закладку в файл после внесения изменений пользователем? Должен ли я поддерживать массив / дерево внутри приложения и сохранять его перед выходом или есть более простые методы?

1 Ответ

2 голосов
/ 24 февраля 2010

Вы хотите отменить действие, которое происходит в populateOutline методе MyWindowController.m . Этот метод считывает plist в один словарь, читает значение из этого словаря и использует его для построения дерева. Начните с этого метода и следуйте коду, чтобы увидеть, как он строит дерево. Он использует классы BaseNode и ChildNode для построения модели данных в виде дерева (я не уверен, почему они не просто использовали NSTreeNode ). Вы хотите отменить эту процедуру, заканчивая NSDictionary. Затем вы можете использовать writeToFile: atomically: для сохранения словаря обратно на диск.

Это может оказаться настолько сложным, насколько вы захотите. Например, текущий код загружает файл словаря в отдельном потоке, поэтому вы также можете сохранить его в отдельном потоке. Или, возможно, вы захотите сохранить после каждого редактирования, снова в отдельном потоке.

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