2010年10月27日水曜日

performSelector:withObject:afterDelay:

iPhoneアプリ開発してて、遅延実行が必要になったので色々調べてたんですが、そこでperformSelectorなるメソッドを見つけたんですが、みなさん小難しい言葉で書いておられ、
第二引数(withObject)って何?とか結構悩んだので(読解力の無さは置いといて)、私なりに簡単にまとめときます。

iPhoneアプリ作ってると、何かちょっとこの動作遅らせて実行したいってときがあるかもしれません。たとえば、1秒後に今表示している画像をフェードアウトさせたいとか。

こんな時に思いつくのがNSTimerなんですが、performSelectorを使うともう少しシンプルに実装できます。

こんな感じ。

[self performSelector:@selector(methodHoge:) withObject:nil afterDelay:0.1];

これだと、「methodHoge」を0.1秒後に実行しまっせ。って事になります。

第二引数の「withObject:nil」なんですが、これはmethodHogeに引数が必要な場合に使います。たとえば

-(void)methodHoge:(NSString *)msg {

みたいな感じなら

[self performSelector:@selector(methodHoge:) withObject:@"オラオラ" afterDelay:0.1];
となります。

おもいっきり簡単に言うとこれだけ。
これだけの事なのに30分ぐらいGoogle先生を見つめてましたorz。

0 件のコメント:

コメントを投稿