1

背景NSOutlineView和NSTreeController可以处理数千个对象吗?

  • 核心数据与GC上的雪豹10.6.4应用

  • 我得通过NSTreeController使用绑定支持的NSOutlineView

  • 我创造数万NSOperation子类上的对象,保存并使用mergeChangesFromContextDidSaveNotification合并到主要上下文中,全部按照Apple文档中的建议操作

  • 主要背景有成千上万个对象

的问题

我有很多的性能问题。有时合并可能需要几秒钟的时间来锁定我的用户界面。它似乎也使用了相当多的内存。我最近发现others have had this issue too。我开始认为这是带有绑定的NSTreeController/NSOutlineView组合的限制。

问题

  1. NSOutlineView和NSTreeController可以处理数千个有效的对象?

  2. This post似乎暗示这是10.6.2引用rdar:// 7139579时的问题。有谁知道这是否“固定”?

我非常感谢任何建议。

回答

0

底线?我认为我需要以通常的方式优化我的应用程序。此外,还有很多KVO通知被解雇,因此可能显示较少的数据就是要走的路。当我加快了我的应用程序时,我可能会进一步向此处报告。

更新:2011年9月

我已经学到了很多东西,因为这个问题被张贴。我的一个重要经验教训是,有时候,你必须放弃你想要的,并接受它将成为设计权衡。

我目前正在重新设计我的应用程序的外观,以使其更快。据我所知,NSTreeController最多只能处理几百个条目。成千上万的条目意味着用户无论如何都会感到困惑。我重新设计了我的UI,使其更简单。现在我正在使用一个表格视图,而这个速度要快得多。

相关问题