iPhoneアプリ開発の虎の巻
HOME > NSTimer

NSTimer

NSTimerクラスはタイマーを管理するクラスです。
一定間隔で何かを実行させたい場合や、指定した時間に実行させたい場合などに使用します。

NSTimerのクラス階層

NSObject ↑ NSTimer

NSTimerの生成

// タイマーの生成例
NSTimer *tm =
[NSTimer
 scheduledTimerWithTimeInterval:1.5f
 target:self
 selector:@selector(hogeMethod:)
 userInfo:nil
 repeats:YES
];
引数名 意味
scheduledTimerWithTimeInterval タイマーを発生させる間隔
(1.5fなら1.5秒間隔)
target タイマー発生時に呼び出すメソッドがあるターゲット
selector タイマー発生時に呼び出すメソッドを指定する
userInfo selectorで呼び出すメソッドに渡す情報(NSDictionary)
repeats タイマーの実行を繰り返すかどうかの指定
(YES:繰り返す NO:1回のみ)

NSTimerのメソッド

【NSTimerの主要メソッド】
メソッド 説明
-(void)fire タイマーを開始する
(例)タイマー開始
 [tm fier];
-(void)invalidate タイマーを停止する
(例)タイマー停止
 [tm invalidate];
-(BOOL)isValid タイマーが動いているかどうかの判定
(例)tmが開始しているかどうか
 BOOL b = [tm isValid];

主要なメソッドのみ掲載しています。
 上記「NSTimerのクラス階層」にあるクラスのメソッドも使用できます。

NSTimerの使用例

// タイマーを作成してスタート
NSTimer *tm =
[NSTimer
 scheduledTimerWithTimeInterval:1.5f
 target:self
 selector:@selector(hoge:)
 userInfo:nil
 repeats:YES
];
// 呼ばれるhogeメソッド
-(void)hoge:(NSTimer*)timer{
    // ここに何かの処理を記述する
    // (引数の timer には呼び出し元のNSTimerオブジェクトが引き渡されてきます)
}
totop