-1

私は、メインスレッドを独自の目的で独占するプログラムに取り組んでいます。条件付きで、このプログラムは Cocoa ウィンドウを生成する必要がある場合があります。ただし、メイン スレッドはイベント ループを実行しない (または少なくとも を実行しない) ため、セカンダリ スレッドからNSRunLoopUI を実行できるかどうか疑問に思っていました。NSRunLoop

Windowsでも同等のことが可能であることは知っていますが、これがMac OSで機能するかどうか、可能であればどのように行うかはドキュメントから明らかではありません.

1 つには、NSApplicationMainメイン スレッドによって呼び出される必要があります。

4

1 に答える 1

2

いいえ。UI はメイン スレッド上にある必要があります。NSOperation またはその他の手段を使用してバックグラウンドで処理を実行し、UI を更新して performSelectorOnMainThread を実行できます。UI 自体は、アプリケーションの実行ループに依存しています。

于 2013-03-29T05:24:22.483 に答える