gpt4 book ai didi

cocoa - NSOutlineView -- 重新加载项 :reloadChildren: crashing my application

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

我尝试使用 NSoutlineView 中的 reloadItemreloaditem:reloadchildren 函数重新加载大纲 View 中的特定项目,但它使我的整个应用程序崩溃。请告诉我一个解决方法,就像我也尝试折叠该项目并再次展开它,但它没有重新加载该项目及其子项。

现在我正在做的是:

  1. 我使用 for 循环手动保存大纲 View 的状态,并保存该项目(无论其是否处于展开状态)。

  2. 调用NSOutlineView的reloadData函数

  3. 然后使用保存的状态运行 for 循环来展开之前展开的所有项目。

但是这种方法的性能开销很大。这个方法还有其他解决办法吗?

是否有任何方法可以自动保存大纲 View 的状态并重新加载并再次设置该状态?这些 autosaveExpandedItems 和 setautosaveExpandedItems 方法有什么作用?

谢谢

最佳答案

如果您在重新加载过程正在进行时尝试重新加载节点,这是 10.6 中的常见行为。

此方法(或一些更深层次的相关方法)在 10.6 中得到了改进。实际上有一个 NSAssert,但是当您在启动时加载 awakeFromNib 中的节点时,由于处理“不一致异常”的正确异常处理程序的泄漏,它感觉就像崩溃一样。

关于cocoa - NSOutlineView -- 重新加载项 :reloadChildren: crashing my application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1406827/

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