iPhone の開発において、私はこれらの用語に出くわしました。
イベントループ、実行ループ
. それらが何であるかを説明できる人はいますか?
iPhone の開発において、私はこれらの用語に出くわしました。
イベントループ、実行ループ
. それらが何であるかを説明できる人はいますか?
他の多くの GUI システムと同様に、iPhone アプリケーション用に作成したコードは、システムが提供するループに陥ります。GUI を使用せずにプログラムを作成する場合、main() 関数などを使用するのが通例です。iPhone では、システムによって提供されるため、それはありません。イベント ループが呼び出されます。提供するのは、イベントに反応するためのコールバックだけです。
ループは、タッチなどのハードウェア イベントの取得、コードと API コードの呼び出しによるウィンドウの描画、一部のメモリ管理などを処理します。これが、これらのイベントを自分でポーリングする必要がない理由です。
このアップルのドキュメントがもう少し説明すると思います:
イベント ループは単なる実行ループです。つまり、作業をスケジュールし、実行ループに接続されたさまざまな入力ソースからのイベントの受信を調整するためのイベント処理ループです。すべてのスレッドは実行ループにアクセスできます。メイン スレッドを除くすべてのスレッドで、実行ループを構成し、コードで手動で実行する必要があります。Cocoa アプリケーションでは、メイン スレッドの実行ループ (メイン イベント ループ) は、アプリケーション オブジェクトによって自動的に実行されます。メイン イベント ループの特徴は、ユーザーの操作 (ビューをタップする、キーボードを使用してテキストを入力するなど) によって生成されたオペレーティング システムからのイベントをプライマリ入力ソースが受け取ることです。