1

фонМожет ли NSOutlineView и NSTreeController обрабатывать тысячи объектов?

  • приложение Основные данные о Snow Leopard 10.6.4 с GC

  • У меня есть NSOutlineView подкрепленную NSTreeController с использованием привязок

  • Я создаю десятки объекты на фоне подкласса 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

Я узнал так много, так как этот вопрос был отправлен. Один из моих больших уроков заключался в том, что иногда вы должны отпустить то, что хотите, и принять, что это будет компромисс с дизайном.

В настоящее время я пересматриваю внешний вид своего приложения, чтобы сделать его быстрее. NSTreeController, как я узнал, предназначен только для обработки нескольких сотен записей. Тысячи записей означают, что пользователь все равно будет запутан. Я изменил свой интерфейс, чтобы быть намного проще. И теперь вместо этого я использую табличный вид, который намного быстрее.

 Смежные вопросы

  • Нет связанных вопросов^_^