在大纲视图中显示 NSXMLDocument 时如何设置 TreeController 的内容对象
我想在大纲视图中显示 NSXMLDocument。值得庆幸的是,苹果公司有一个名为“使用带有 NSXML 对象的树控制器”的文档。
但我没有得到的一件事是我如何设置 TreeController 的内容对象。
首先,我将“绑定到”设置为我想要显示的 NSXMLDocument,将“模型密钥路径”设置为其根元素。但这是行不通的。
我发现我必须将“绑定到”设置为以 NSXMLDocument 作为其属性的对象,并将“模型密钥路径”设置为 NSXMLDocument.rootElement。
那么这是为什么呢?
I would like to show a NSXMLDocument in Outline View. Thankfully apple has a document for that called "Using Tree Controllers With NSXML Objects".
But one thing I did not get is that how I set TreeController's Content Object.
Firstly I set "Bind to" to the NSXMLDocument I want to show and "Model Key Path" to its rootElement. But that won't work.
I find that I have to set "Bind to" to an object who has the NSXMLDocument as its property and set "Model Key Path" to the NSXMLDocument.rootElement.
So why is that ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我弄清楚为什么我的第一次绑定尝试没有成功。因为像我的 NSXMLDocument 这样的绑定是在 IB 中创建的,所以我实际上无法设置其内容。 (我不知道如何做到这一点)
通过第二个绑定,我可以调用 NSXMLDocument 的 initWithData 方法。所以我的 NSXMLDocument 正确获取了数据。
所以我的问题是,如果 NSXMLDocument 内容是使用 IB 创建的,我如何(或者是否可能)设置它?因为事件具有 awakeFromNib 方法,所以我不知道如何设置其内容。我尝试调用 setRootElement,但 get 的异常表示“无法添加具有父级的子级;首先分离或复制”
I figured out why my first binding attempt did not succeed. Because with the binding like that my NSXMLDocument was created in IB, then I can't set its content actually. (I do not how I can do that)
With my second binding, I can call NSXMLDocument's initWithData method. So my NSXMLDocument gets its data correctly.
So my question became how can I (or is it possible) to set NSXMLDocument content if it is created with IB ? Because event with awakeFromNib method, I don't know how I can set its content. I tried to call setRootElement, but get's exception said that "Cannot add a child that has a parent; detach or copy first"