Cocoa NSOutlineView--重载项:重载子项:使我的应用程序崩溃
我正在尝试使用NSoutlineView中的Cocoa NSOutlineView--重载项:重载子项:使我的应用程序崩溃,cocoa,reload,nsoutlineview,Cocoa,Reload,Nsoutlineview,我正在尝试使用NSoutlineView中的reloadItem或reloadItem:reloadchildren函数重新加载大纲视图中的特定项目,但它会使整个应用程序崩溃。请告诉我一个解决方法,就像我也试图折叠该项并再次展开它,但它没有重新加载该项及其子项 现在我正在做的是: 我正在使用for循环手动保存大纲视图的状态,并在项目是否处于展开状态时保存该项目 调用NSOutlineView的重新加载数据函数 然后使用保存的状态,运行for循环以展开以前展开的所有项 但是这种方法有很多性能开销。
reloadItem
或reloadItem:reloadchildren
函数重新加载大纲视图中的特定项目,但它会使整个应用程序崩溃。请告诉我一个解决方法,就像我也试图折叠该项并再次展开它,但它没有重新加载该项及其子项
现在我正在做的是:
重新加载数据
函数谢谢,如果在重新加载过程中尝试重新加载节点,这是10.6中的常见行为
该方法(或一些更深入的相关方法)在10.6中进行了改进。实际上有一个NSAssert,但在启动时在awakeFromNib中加载节点时感觉像是崩溃,因为处理“不一致异常”的适当异常处理程序存在漏洞。可能是同步问题,请尝试在重新加载项周围使用NSLock或@synchronize。
是否可以为此问题附加一些来源?请编辑您的问题以包含崩溃日志。