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