3

我有一个通过 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),我隐藏进度指示器并显示集合视图。

有人对我在这里做错了什么有提示/线索吗?

似乎把事情搞砸了。

4

1 回答 1

0

感谢在 Twitter 上看到此链接的朋友,我有一个解决方案。一旦我的 KVO 触发,添加对以下内容的调用:

[arrayController fetch:self];

似乎把事情搞砸了。

于 2011-05-05T02:28:48.147 回答