[self performSelector: @selector (methodAfterDelay) withObject: nil afterDelay: 0.0];

イベントサイクルの中でsetNeedsDisplayを読んで、さらに
[self performSelector: @selector (methodAfterDelay) withObject: nil afterDelay: 0.0];
とすると、drawRectとmethodAfterDelayの実行の順序はどうなるか?

どうもdrawRectが呼ばれてからmethodAfterDelayが呼ばれることも
drawRectが呼ばれずにmethodAfterDelayが呼ばれることも両方あるようである。

最後の0.0を0.1にするとdrawRectが呼ばれてからmethodAfterDelayが呼ばれる(もしくは可能性が高い)。

コメント