使用NSTimer触发存储在Array中的方法

时间:2014-06-25 17:09:59

标签: ios nsarray nstimer nstimeinterval

我有一个存储时间的数组。我希望NStimer有时会触发存储在该数组中。例如,在数组a []中我有2秒,5秒和10秒,并且希望NSTimer在这些时间触发方法。我还有另一个NSTimer,它每秒都在不断更新时间实例变量。

1 个答案:

答案 0 :(得分:0)

一个简单的解决方案是循环遍历数组并使用GCD调度方法调用

for (NSNumber *time in array) {
    NSTimeInterval delay = [time doubleValue];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            <#code to be executed after a specified delay#>
        });
}