0

わかりました。2秒間隔でそれぞれ実行したいいくつかのメソッドの文字列の配列があります。私はこれを行う方法を理解できません、しかし私は次のようにフォワードループを使用しようとしました:

SEL methods;
NSTimer *timerBetweenMethods;
for (int i=0;i<[self.arrayOfStringsOfMethods count];i++{
methods=NSSelectorFromString([self.arrayOfStringsOfMethods objectAtIndex:i]);
timeBetweenMethods=[NSSTimer scheduledTimerWithInterval:2 target:self selector:methods userInfo:nil repeats:NO];
}

つまり、その配列に10個のメソッドがあるとすると、最初のメソッドを実行し、2番目のメソッドの後に2秒、3番目のメソッドの後に2秒というように、10番目まで合計20秒実行します。これをする。ただし、実際に発生するのは2秒後にすべてのメソッドが同時に実行されることです。これは、この順方向ループがタイマーをすばやく設定しているためですが、タイマーがそのメソッドを実行するまで待機せずに、再度ループするためだと思います。理にかなっていますが、どうすれば自分のプログラムに自分のやりたいことを実行させることができますか?o、そしてところで、私は今日N​​STimerについて学んだばかりなので、私はそれに非常に慣れていません。

4

1 に答える 1

2

お気づきのように、それらすべてを同時にスケジュールしています。間隔を2*(i+1)2ではなくに設定します。

于 2012-07-13T01:25:06.177 に答える