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 秒,等等......直到第 10 个,总共 20 秒去做这个。然而,实际发生的是 2 秒后所有方法同时运行,我认为这是因为这个前向循环只是快速设置计时器,而不是等到计时器在再次循环之前执行它的方法,我猜有道理,但我怎样才能让我的程序做我想做的事?o,顺便说一句,我今天刚刚了解了 NSTimer,所以我对它很陌生。

4

1 回答 1

2

正如您所注意到的,您正在同时安排它们。将间隔设置为2*(i+1)而不是 2。

于 2012-07-13T01:25:06.177 回答