gpt4 book ai didi

objective-c - 以编程方式扩展 NSOutlineView

转载 作者:行者123 更新时间:2023-12-03 17:53:26 26 4
gpt4 key购买 nike

我的要求是这样的,

在 NSOutlineview 顶部会有一个搜索文本字段,并且 NSOutline View 可能包含嵌套的组,

如果一个项目/行与搜索查询匹配,那么应该显示它,它的所有父节点直到根级别,

我的做法如下,

1 -- 根据用户输入的内容,重新构建 NSOutlineview 数据源(除了 NSArray 之外什么都没有)

2 -- 已实现所有委托(delegate)方法,

现在我的问题是组没有自动扩展,我知道我应该打电话

-expandItem:expandChildren:,

但我的问题是我应该在哪里调用它,我在重新加载数据后调用它,但它不起作用

我试着这样调用它,,,,

- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)aTableColumn byItem:(id)item {
if(aTableColumn == nil){
[self log:@"aTableColumn is NIL "];
return nil;
}
if([[aTableColumn identifier] isEqualToString:@"firstColumn"] ){
if ( [myOutlineView shouldExpandIt:item]){
[myOutineView expandItem:item];
}
return item;
}
return item;
}

但是它的错误可能会进入递归循环

任何其他方法可以达到同样的效果。

最佳答案

感谢大家的关注,

通过放日志,我发现,似乎是[NSOutlineView reloadData]似乎阻塞了调用,

所以之后,如果我需要展开/折叠组,我正在使用

  [pCTOutlineView expandItem:pValue];

到目前为止正在工作......

关于objective-c - 以编程方式扩展 NSOutlineView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187445/

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