У меня есть окно с NSCollectionView, созданным с помощью Interface Builder. Существует NSArrayController, связанный с резервным хранилищем CoreData, которое заполняется во время запуска путем запуска асинхронного запроса. Привязка NSCollectionView к NSArrayController и т. Д., Похоже, на месте; однако окно отображается и остается пустым до тех пор, пока не будет произведен щелчок по нему, его размер и т. д., чтобы заставить его перерисоваться.
Вот некоторые вещи, которые я пробовал без каких-либо заметных изменений. (Они находятся в классе NSWindowController)
1) Используйте KVO для отслеживания завершения выборки CoreData. На данный момент я пробовал все без исключения из следующего:
[collectionView setNeedsDisplay:YES];
[[self window] setViewsNeedDisplay:YES];
[[self window] flushWindowIfNeeded];
2) Добавлен NSProgressIndicator, скрыть NSCollectionView при запуске, а затем, когда загрузка будет завершена (снова через мониторинг KVO), я скрываю индикатор прогресса и показываю представление коллекции.
У кого-нибудь есть советы / подсказки о том, что я здесь делаю неправильно?
кажется, пускает дело в ход.