2011-12-21 10 views
0

MacアプリケーションにNSCollectionViewがあり、いくつかのアイコンが含まれています。一方、私はいくつかの操作をキューに入れるためにタスクスケジューラとしてNSOperationQueueを使用しています。 1つのNSOperationでは、NSCollectionViewのコンテンツを変更します。コンテンツが変更されると、ビューは一度に更新されます。別のスレッドからNSCollectionViewを更新すると空白になる

メインスレッドで更新すると、正常に動作します。同じソースコードをNSOperation :: main()の最後に置くと、NSCollectionViewは完全に空白になります。

これは何らかのバグですか、それとも間違った方法で行いますか?

ありがとうございます!

答えて

2

UI要素とのすべての対話は、メインスレッドで実行する必要があります。

performSelectorOnMainThread:withObject:waitUntilDone:メソッドを使用すると、UI要素をバックグラウンドスレッドから更新できます。

+0

これは機能します。ありがとう@paulbailey、あなたは素晴らしいです:D – shader

関連する問題