我的Mac应用程序中有一个NSCollectionView,它包含一些图标。同时,我使用NSOperationQueue作为任务调度程序来对一些操作进行排队。在一项NSOperation中,我修改了NSCollectionView的Content,当Content更改时,视图应立即更新。

如果我在主线程中对其进行更新,则它可以很好地工作。如果将相同的源代码放在NSOperation :: main()的末尾,则NSCollectionView将完全空白。

这是某种错误还是我做错了方法?

谢谢!

最佳答案

与UI元素的所有交互都必须在主线程上执行。

您可以使用performSelectorOnMainThread:withObject:waitUntilDone:方法来帮助您从后台线程更新UI元素。

关于objective-c - 从另一个线程更新NSCollectionView使其空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8592557/

10-12 04:18