1

コア アニメーションは独自のスレッドで実行されます。しかしanimationDidStop:finished:、アニメーションが終了したときにメインスレッドで実行されることが保証されていますか? 私のテストではそうなっていますが、iOS のすべてのバージョンで、常にそれに依存できるかどうかはわかりません。

4

2 に答える 2

1

このスレッドにも記載されているように、メインスレッドで発生します。iOS 4.0 以降を起動する場合は、使用を検討してblock-based animation methodsください。

編集

の説明に関する公式ドキュメントanimateWithDuration:animations:completion:から、次の実行ループサイクルの開始時に完了ブロックが実行されることが言及されています。メイン スレッドでメソッドを呼び出している場合、ここではメイン スレッドに関連するループ サイクルについて話していると思います。

于 2013-01-05T18:13:48.460 に答える
0

はい、animationDidStop:finished:メソッドは常にメインスレッドで呼び出されることを理解していますが、それは理解であり、保証されているわけではありません。

この質問を Apple の開発者フォーラムのコア アニメーション エリアに投稿して、Apple のエンジニアが検討するという特定のリクエストを行うことをお勧めします。定期的に投稿する Apple の従業員が多数います。(コア アニメーションでは Rincewind が思い浮かびます)。

于 2013-01-07T20:51:31.693 に答える