我有一个通过 Interface Builder 创建的带有 NSCollectionView 的窗口。有一个 NSArrayController 绑定到 CoreData 后备存储,该存储在启动时通过触发异步请求来填充。NSCollectionView 到 NSArrayController 等的绑定似乎都已经到位;但是,在单击窗口、调整大小等以强制重绘之前,窗口会显示并且是空白的。
这是我尝试过的一些事情,没有任何明显的变化。(这些在 NSWindowController 类中)
1) 使用 KVO 监控 CoreData 提取何时完成。在这一点上,我已经尝试了以下所有方法:
[collectionView setNeedsDisplay:YES];
[[self window] setViewsNeedDisplay:YES];
[[self window] flushWindowIfNeeded];
2)添加了一个 NSProgressIndicator,在启动时隐藏 NSCollectionView,然后在加载完成时(再次通过监视 KVO),我隐藏进度指示器并显示集合视图。
有人对我在这里做错了什么有提示/线索吗?
似乎把事情搞砸了。