代码之家  ›  专栏  ›  技术社区  ›  John Gallagher

nsoutlineview和nstreecontroller可以处理数千个对象吗?

  •  1
  • John Gallagher  · 技术社区  · 14 年前

    背景

    • 带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的问题。有人知道这是否已经“修复”?

    我非常感谢你的建议。

    1 回复  |  直到 14 年前
        1
  •  0
  •   John Gallagher    13 年前

    底线?我想我需要以通常的方式优化我的应用程序。此外,还有很多kvo通知被触发,所以可能显示较少的数据是一种方法。当我加速了我的应用程序,我可能会在这里报告更多。

    更新时间:2011年9月

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