Как мне установить объект содержимого TreeController при отображении NSXMLDocument в виде схемы

#cocoa #binding #nsoutlineview #nstreecontroller #nsxmldocument

#cocoa #привязка #nsoutlineview #nstreecontroller #nsxmldocument

Вопрос:

Я хотел бы показать NSXMLDocument в виде схемы. К счастью, у Apple есть документ для этого, который называется «Использование контроллеров дерева с объектами NSXML».

Но одна вещь, которую я не понял, заключается в том, как я устанавливаю объект содержимого TreeController.

Сначала я устанавливаю «Привязку к» для NSXMLDocument, который я хочу показать, и «Путь к ключу модели» для его rootElement. Но это не сработает.

Я обнаружил, что мне нужно установить «Привязку к» для объекта, который имеет NSXMLDocument в качестве своего свойства, и задать «Путь к ключу модели» для NSXMLDocument.rootElement.

Итак, почему это?

Ответ №1:

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

С моей второй привязкой я могу вызвать метод initWithData NSXMLDocument. Итак, мой NSXMLDocument правильно получает свои данные.

Итак, мой вопрос заключался в том, как я могу (или это возможно) установить содержимое NSXMLDocument, если оно создано с помощью IB? Поскольку событие происходит с помощью метода awakeFromNib, я не знаю, как я могу установить его содержимое. Я попытался вызвать setRootElement, но исключение get сообщило, что «Невозможно добавить дочерний элемент, у которого есть родительский; сначала отсоедините или скопируйте»