#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 сообщило, что «Невозможно добавить дочерний элемент, у которого есть родительский; сначала отсоедините или скопируйте»