在大纲视图中显示NSXMLDocument时,如何设置TreeController的内容对象

时间:2011-05-19 16:25:36

标签: cocoa binding nsoutlineview nstreecontroller nsxmldocument

我想在Outline View中显示一个NSXMLDocument。值得庆幸的是,apple有一个名为“使用NSXML对象的树控制器”的文档。

但我没有得到的一件事是我如何设置TreeController的内容对象。

首先,我将“Bind to”设置为我要显示的NSXMLDocument,并将“Model Key Path”设置为其rootElement。但那不行。

我发现我必须将“绑定到”设置为具有NSXMLDocument作为其属性的对象,并将“Model Key Path”设置为NSXMLDocument.rootElement。

那为什么呢?

1 个答案:

答案 0 :(得分:0)

我弄清楚为什么我的第一次绑定尝试没有成功。因为我的NSXMLDocument是在IB中创建的,所以我无法实际设置其内容。 (我不知道怎么做)

使用我的第二个绑定,我可以调用NSXMLDocument的initWithData方法。所以我的NSXMLDocument正确地获取了它的数据。

所以我的问题变成了如果用IB创建NSXMLDocument内容我怎么能(或者可能)?因为事件有awakeFromNib方法,我不知道如何设置它的内容。我试图调用setRootElement,但得到的异常表示“无法添加具有父级的子级;先分离或复制”