Objective c 从另一个线程更新NSCollectionView会导致它为空

Objective c 从另一个线程更新NSCollectionView会导致它为空,objective-c,xcode,macos,cocoa,nscollectionview,Objective C,Xcode,Macos,Cocoa,Nscollectionview,我的Mac应用程序中有一个NSCollectionView,其中包含一些图标。同时,我使用NSOperationQueue作为任务调度器来对一些操作进行排队。在一个NSO操作中,我修改了NSCollectionView的内容,当内容发生更改时,该视图应立即更新 如果我在主线程中更新它,那么它工作得非常好。如果我将相同的源代码放在NSOperation::main()的末尾,那么NSCollectionView将完全为空 这是某种错误还是我做得不对 谢谢 与UI元素的所有交互都必须在主线程上执行

我的Mac应用程序中有一个NSCollectionView,其中包含一些图标。同时,我使用NSOperationQueue作为任务调度器来对一些操作进行排队。在一个NSO操作中,我修改了NSCollectionView的内容,当内容发生更改时,该视图应立即更新

如果我在主线程中更新它,那么它工作得非常好。如果我将相同的源代码放在NSOperation::main()的末尾,那么NSCollectionView将完全为空

这是某种错误还是我做得不对


谢谢

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

您可以使用该方法帮助您从后台线程更新UI元素