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のメソッド
メソッド | 説明 |
---|---|
-(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オブジェクトが引き渡されてきます)
}