次の効果を達成したい:
- ユーザーがボタンを押します。
- VoiceOver は「処理中」の文を読み上げます。
- いくつかの重い処理を実行します。
すべてがメイン スレッドで実行されており、その間に GUI を更新できるようにしたくありません。そのためには、重い処理が終わる前にメソッドが戻らないようにしてほしい。私は次のコードを持っています:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,
@"Processing");
heavyProcessing();
問題は、重い処理が完了した後に VoiceOver が情報を読み上げることです。
メソッドが終了してメインループに制御を返す前に、VoiceOver に情報を「非同期的に」発声させる方法は? 必要に応じて、負荷の高い処理を別のスレッドで実行できます。