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。

2010年10月22日金曜日

iphoneアプリを開発するにあたって、ちょくちょく「バンドル」という言葉がでてくるのだが、それが何を表すものなのかがなかなか理解できなかった。

色々な資料を読みまくって、やっと何となく分かってきたのでまとめてみる。
ただし、これが正とは限らないので注意。

バンドルとは?
簡単に言ってしまえば、アプリケーションのリソースをまとめたものと考えればいいかと。
そのまとまりをバンドルと呼ぶようです。

そう考えると、iphoneのアプリは「.app」という拡張子を持ったバンドルと言えるみたいですね。