背景
Snow Leopard 10.6.4上带有GC的核心数据应用程序
我使用绑定NSTreeController支持NSOutlineView
我在后台NSOperation子类上创建了数十个对象,保存并使用mergeChangesFromContextDidSaveNotification
合并到主上下文中,所有这些都按照Apple文档中的建议
主要上下文包含数千个对象
问题
我遇到了很多性能问题。有时合并可能需要几秒钟才能锁定我的UI。它似乎也使用了相当多的内存。
我最近发现others have had this issue too。我开始认为这是对绑定的NSTreeController / NSOutlineView组合的限制。
问题
NSOutlineView和NSTreeController能否有效处理数千个对象?
This post似乎暗示这是10.6.2引用rdar:// 7139579的问题。有谁知道这是否已经“修复”了?
我非常感谢任何建议。
答案 0 :(得分:0)
底线?我想我需要以通常的方式优化我的应用程序。此外,有很多KVO通知被解雇,因此可能显示较少的数据。当我加快了我的应用程序时,我可能会在这里进一步报告。
更新:2011年9月
自从这个问题发布以来,我学到了很多东西。我的一个重要教训是,有时候,你必须放弃你想要的东西,并接受这将是一场设计交易。
我正在重新设计应用程序的外观以加快速度。我知道,NSTreeController最多只能处理几百个条目。成千上万的条目意味着用户无论如何都会感到困惑。我重新设计了我的UI更简单。而现在我正在使用表视图,速度要快得多。