【iOS】NSTimer (タイマー)の使用方法

NSTimer (タイマー)の使用方法 iPhone ios 逆引き サンプル

userInfo タイマーのイベントが発生した時に呼び出されるメソッド内で利用するデータを作成する。

NSDictionary *userInfo =[NSDictionary dictionaryWithObjectsAndKeys:

@”my value is 1″,@”key1″,

@”my value is 2″,@”key2″,

@”my value is 3″,@”key3″,

nil

];

自動でタイマーはスタートします。

NSTimer *timer = [NSTimer

タイマーイベントを発生させる感覚。「1.5」は 1.5秒 型は float

scheduledTimerWithTimeInterval:1.5

呼び出すメソッドの呼び出し先(selector) self はこのファイル(.m)

target:self

呼び出すメソッド名。「:」で自分自身(タイマーインスタンス)を渡す。

インスタンスを渡さない場合は、「timerInfo」

selector:@selector(timerInfo:)

呼び出すメソッド内で利用するデータが存在する場合は設定する。ない場合は「nil」

userInfo:userInfo

上記で設定した秒ごとにメソッドを呼び出す場合は、「YES」呼び出さない場合は「NO」

repeats:NO

];

タイマーの状態を取得する方法、「0」: 停止中 「1」: 動作中

[timer isValid];

NSLog(@”Timer Status : %d”,[timer isValid]);

タイマーを停止したい場合

[timer invalidate];

NSLog(@”Timer Status : %d”,[timer isValid]);

タイマーを開始、再開する場合

[timer fire];

NSLog(@”Timer Status : %d”,[timer isValid]);

呼び出しメソッド

-(void) timerInfo:(NSTimer *)timer

{

NSLog(@”key1 : %@”,[[timer userInfo] objectForKey:@”key1″]);

NSLog(@”key2 : %@”,[[timer userInfo] objectForKey:@”key2″]);

NSLog(@”key3 : %@”,[[timer userInfo] objectForKey:@”key3″]);

}

コードサンプル