[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が呼ばれる(もしくは可能性が高い)。