NSTimer で実行するメソッドに引数を渡す機会は少ないと思うが、メモ。
NSDictionary で渡すのが通常の手順
NSDictionary *dictionary =[NSDictionary dictionaryWithObjectsAndKeys:
@"tokyo", @"where",
@"12:30", @"time", nil ];
NSTimer *timer = [ NSTimer scheduledTimerWithTimeInterval:10
target:self
selector:@selector(doMethod:)
userInfo:dictionary
repeats:NO ];
------ 停止する時は、nil をセットした方が良いらしい ------
if (timer != nil){
if ([timer isValid]){
[timer invalidate];
timer = nil;
}
selector で指定したメソッド、userInfo で受け取る
-(void)doMethod:(NSTimer*)timer
{
NSString *where = [ [timer userInfo] objectForKey:@"where" ];
NSString *timestr = [ [timer userInfo] objectForKey:@"time" ];
}