虽然我已在定制的NSCollectionView了长足的进步,这要归功于提示我已经在这里闪光,在网络上,我有一点我希望有人能够帮助有困难的。我有一个核心数据实体,其中包含有关视频文件的信息和一个NSCollectionView,它显示每个视频的缩略图图像预览。我在NSCollectionView上设置了绑定。
在我的在建立绑定第一次尝试,我设置在类模式我的阵列控制器绑它的内容到一个NSMutableArray,我是与所有从windowDidLoad我的画实体的对象的填充。我在阵列控制器上执行addObject以使它们显示出来。这种方法很好,除非你需要加载很多对象需要很长时间。
所以......当可以将NSCollectionView直接绑定到Core Data时,将所有对象复制到数组似乎很愚蠢。我将ArrayController更改为Entity模式,并将Managed Object Context设置为指向App Delegate的managedObjectContext。当我启动我的应用程序时,窗口显示在屏幕上之前有一段延迟。事实上,我正在windowDidLoad中立即执行其他操作,但是窗口需要再显示5-10秒。一旦它发生,NSCollectionView中没有显示任何内容。
我最初认为它只是在我意外调整窗口大小并且所有项目都显示在集合视图中之后才工作。我想看看是否有知道什么时候实际显示窗口,这样我可以调用一个方法[的CollectionView setNeedsDisplay:YES],但要么不工作或我没有在正确的地方调用它。
有没有人知道为什么对象不只是出现?我也希望窗口立即显示,然后为集合视图加载核心数据中的项目。直接从Core Data加载似乎比将项目复制到数组要快得多。我很乐意发布您想要查看的任何代码,但由于绑定是在IB中设置的,因此没有太多要显示的内容。 :)
谢谢!