macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:

タイマーを作って返します
+(NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds:
                 target:(id)target:
                 selector:(SEL)aSelector:
                 userInfo:(id)userInfo:
                 repeats:(BOOL)repeats:

解説

タイマーを作って返します。
セレクタはNSTimerを唯一の引数とするメソッドでなければなりません。
タイマーの時間(second)が0.0以下にセットされた場合は最小の正の数のセットされます。
secondsで指定した時間(秒)が過ぎた後、ターゲットに起動のメッセージを送ります。
repeatsをYESにすると、タイマーは繰り返して実行されます。NOをセットすると1回だけメッセージを送ります。
追加の情報を送るのにuserInfoを使います。userInfoには通常NSDictionaryを使います。
ターゲットはNSTimerからuserInfoを取り出します。

返り値

( NSTimer * )

タイマーオブジェクト

引数

( NSTimeInterval )seconds

タイマーが呼び出される間隔(秒)

( id )target

ターゲット

( SEL )aSelector

呼び出すメソッド(NSTimerを唯一の引数とするメソッド)

( id )userInfo

パラメータ

( BOOL )repeats

繰り返すかYES/NO

クラス

NSTimer

Class Methods

使用可能

10.0

参照

例文

#import "MyObject.h"
@implementation MyObject

NSTimer *timer=nil;

- (IBAction)myAction:(id)sender
{
	//userInfoに使う辞書を作成
	NSDictionary *userInfoDictionary =[NSDictionary dictionaryWithObjectsAndKeys:
						@"value1",@"key1",
						@"value2",@"key2",
						@"value3",@"key3",nil];

	//タイマースタート
	timer = [NSTimer scheduledTimerWithTimeInterval:1.0
							target:		self
							selector:	@selector( timerControl: )
							userInfo:	userInfoDictionary
							repeats:	YES
							];

}

-(void) timerControl:(NSTimer *)aTimer
{
	NSLog(@"...%@",[[aTimer userInfo] objectForKey:@"key2"]);
}

@end