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″]);
}
コードサンプル
- (void)viewDidLoad
{
[super viewDidLoad];
// 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"]);
}
