【iPhone】メソッドを遅延実行させる

概要

指定したメソッドを指定した時間後に実行させる方法。
また、view.frameでサイズを指定したはずなのに正しく表示されない場合などの対応策(あまり推奨はできないが。。)

方法

下記のようなメソッドがあり1秒後に実行したい場合、

- (void)hoge

下記のようにする。

[self performSelector:@selector(hoge) withObject:nil afterDelay:1];

上記のように実行すると、hogeが1秒後に実行される。

また、メソッド内でviewのサイズを指定して生成したはずなのにうまく表示されない場合などは、

[self performSelector:@selector(createView) withObject:nil afterDelay:0];

のようにするとうまく表示される場合がある。