gpt4 book ai didi

objective-c - NSOutlineView+NSTreeNode : where's my custom data gone?

转载 作者:行者123 更新时间:2023-12-03 16:43:36 28 4
gpt4 key购买 nike

我正在设置一个绑定(bind)到 NSTreeController 的 NSOutlineView,该 NSTreeController 填充有 NSTreeNode 实例,后者使用 [NSTreeNode treeNodeWithRepresentedObject:...] 附加了我的自定义 NodeData 对象。大纲 View 渲染得很好,所有数据都按预期存在,一切都很好。

现在在大纲 View 的委托(delegate)中,我尝试通过outlineView:willDisplayCell:forTableColumn:item: 方法。

但是,item 参数不会返回我的自定义数据!

id stuff = [item representedObject];

生成 NSTreeNode 类的实例,其中 item 是 NSTreeControllerTreeNode

这到底是怎么回事?根据所有文档和示例代码,我可以发现representedObject调用应该给我返回我在构建树时填充到NSTreeNode中的NodeData对象..

完全无能为力,因为我似乎是唯一遇到这个问题的人,所以我一定在某个地方做了一些非常愚蠢的事情 - 但我看不出代码有什么问题。

使用setContent:[dataSourcesillyHack]以编程方式填充树 Controller 这个琐碎的内容显示了相同的行为:

- (NSMutableArray *) sillyHack
{
NSMutableArray *nodeArray = [NSMutableArray array];

NodeData *scaleTypeListNode = [[NodeData alloc] initWithName:@"123"];
NSTreeNode *scaleTypeListTreeNode = [NSTreeNode treeNodeWithRepresentedObject:scaleTypeListNode];
[scaleTypeListNode release];

[nodeArray addObject:scaleTypeListTreeNode];
return nodeArray;
}

感谢任何帮助。

最佳答案

您应该使用您自己的数据实例填充 NSTreeController,而不是 NSTreeNode。

关于objective-c - NSOutlineView+NSTreeNode : where's my custom data gone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166382/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com