キューとタイマーをくっつけたクラス

よくある疑似イベントループもどきのクラスを書いた。

テスト用に書いたので実用になるかどうかは不明。

使い方は、こんな感じ。

{
        .
        .
        .
    timerQueue = [[MTLTimerQueue timerQueueWithTarget:self
                                               action:@selector(logObject:)
                                        firstInterval:1.0
                                     continueInterval:0.1] retain];

    [timerQueue enqueue:@"+1"];
    [timerQueue enqueue:@"+2"];
    [timerQueue enqueue:@"+3"];
    [timerQueue enqueue:@"+4"];
    [timerQueue enqueue:@"+5"];
        .
        .
        .
}



- (IBAction) logObject:(id)sender
{
    NSLog(@"theObject => %@", sender);
}

この場合は、キューに、値を積んで1.0秒後に、0.1秒毎に積んだ値を取り出して出力する。

firstIntervalとcontinueIntervalで時間を調整する。

continueIntervalがマイナスの値の場合は、イベントループを回さないで一気に取り出す。

MTLTimerQueue.zip.