我正在使用 scheduleTimerWithTimeInterval: 每 N 秒执行一次动画。
在某些情况下,我想重新安排时间,以便 N 重新开始重新计算,即
schduleTimerWithTimeInterval: 5
5秒后执行动作
5秒后执行动作
自上次操作后经过 2 秒,然后发生了某事 X
自 X 后 5 秒,执行操作(即自上次执行操作后不是 5 秒)
5秒后执行动作
5秒后执行动作
那么当 X 发生时,是否可以重置 scheduleTimerWithTimeInterval?
我正在使用 scheduleTimerWithTimeInterval: 每 N 秒执行一次动画。
在某些情况下,我想重新安排时间,以便 N 重新开始重新计算,即
schduleTimerWithTimeInterval: 5
5秒后执行动作
5秒后执行动作
自上次操作后经过 2 秒,然后发生了某事 X
自 X 后 5 秒,执行操作(即自上次执行操作后不是 5 秒)
5秒后执行动作
5秒后执行动作
那么当 X 发生时,是否可以重置 scheduleTimerWithTimeInterval?
所以是这样的:
self.timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(takeAShot) userInfo:nil repeats:YES];
然后当 x 发生时:
[self.timer invalidate];
self.timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(takeAShot) userInfo:nil repeats:YES];
或任意数量的重复和非重复计时器方式