ここしばらく Objective-C & MacOS の話題が続いているが、深い理由はない。
意外に使えることがわかってきて、この環境が好きになってきたから。
今回は、NSTimer の話。
結論から書くと、簡単に試すことができる。
タイマー関係といえば、昔、Java でえらい目にあったことがある。
動作がむちゃくちゃ不安定。
まあ、Java の実行環境を考えるとしょうがないでしょう。
サンプル
それはともかく、検証に使ったソースコードは github にあげてあるのでよろしく。
@implementation Timer
-(id)initWithTimer
{
self = [super init];
if(self){
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0f
target:self
selector:@selector(doTask:)
userInfo:nil
repeats:YES];
//[timer fire];
}
return self;
}
-(void)doTask:(NSTimer *)timer
{
//[timer invalidate];
NSLog(@"timer");
}
@end
コーディング自体は簡単。
上のように Timer クラスを作って、AppDelegate から呼び出すのみ。
これでタイマー処理ができてしまう。
実行すると所定の間隔で doTask メソッドを実行してくれます。