2011-02-02 6 views
0

Fliteの特定のコード行に到達すると、その行を通過して、書き込まれる内容を再生するテキスト読み上げに変換するのに約2分かかります。タスクが進行中の間に、ユーザーの入力に応答するアプリケーションが停止する。これを防ぐ方法はありますか?

このプロセスでは、Fliteのコードが終了したら、ユーザー入力に応答しなくなります。明らかに、これは不便です。それを防ぐ方法はありますか?

答えて

5

バックグラウンドスレッドでは、UI実行ループではなく、NSOperationQueueなどの処理を行い、処理が完了したらUIに通知する完了コールバックを実行する必要があります。

+0

これで処理が遅くなりますか? – Andrew

+0

@Andrew:スピードは、UIスレッド、バックグラウンドスレッド、または他のアプリで何が起こっているかによって異なります。 iOSはマルチタスクOSですが、現在はユニプロセッサで動作していますので、すべてがその1つのリソースを共有する必要があります。 – hotpaw2

関連する問題