NSTimer,序列中有多个时间间隔

Nav*_*bas 5 objective-c intervals nstimer ios

在不创建多个NSTimer实例的情况下,如何实现NSTimer以序列中的不同间隔触发特定或多个方法.例如method1(0.3秒),method2(0.5),method3(0.7)等.

如果有人可以请分享任何示例代码,我将不胜感激.

hol*_*lex 5

我不确定你的最终目标是什么,但在看完你的问题之后我会建议尝试以下方式,也许这就是你想要的.

你应该把这段代码放在你通常想要以NSTimer不同间隔启动相同类的地方(不幸的是,这是不可能的).

{
    // ...
    [self performSelector:@selector(method1) withObject:nil afterDelay:0.3f];
    [self performSelector:@selector(method2) withObject:nil afterDelay:0.5f];
    [self performSelector:@selector(method3) withObject:nil afterDelay:0.7f];
    // ...
}
Run Code Online (Sandbox Code Playgroud)

当需要取消排序所有排队的选择器时,请使用此代码.

[NSObject cancelPreviousPerformRequestsWithTarget:self];
Run Code Online (Sandbox Code Playgroud)