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,使其更簡單。現在我正在使用一個表格視圖,而這個速度要快得多。

相關問題