iPhoneアプリのゲームなどでタイマーを使いたい場合はNSTimerを使うといいです。
実装としてはなるべく一つのタイマーを使い、二つ以上タイマーを使うことは避けたほうが扱いやすいです。
タイマーの作成
NSTimerを使って、1秒おきに呼ばれるタイマーを作ります。
NSTimer * clockTimer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(tick:) userInfo:nil repeats:YES];
tickメソッドが1秒ごとに呼ばれます。1.0fを0.01fに変更すると0.01秒ごとにタイマーを実行するように変更できます。
tickメソッド、hogeが1秒毎に表示されます。
-(void)tick:(NSTimer*)timer
{
NSLog(@"hoge");
}
引数は渡さなくても動くけど渡してるソースが多い気がする。
-(void)tick:(id)sender
{
NSLog(@"hoge");
}
あと引数渡してるのでこういうソースもよく見た。
タイマーの停止
タイマーの停止にはinvalidateを使用します。
[clockTimer invalidate];
clockTimerをinvalidateしてタイマーを停止しています。
Pingback: Objective-C – NSTimerについて(alloc, release, invalidateとか)- | Learn iPhone, iOS, Objective-c, cocos2d and ....?