【发布时间】:2012-01-09 10:30:31
【问题描述】:
我想在应用程序在后台进行一些计算时为一些加载点设置动画。我通过NSTimer 实现了这一点:
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.3f
target:self
selector:@selector(updateLoadingPoints:)
userInfo:nil
repeats:YES];
不幸的是,有时,当计算变得非常繁重时,该方法不会被触发,因此不会发生更新。似乎所有的触发都在一个队列中,在繁重的计算之后触发。
有没有办法给NSTimer 更高的优先级以确保它定期调用我的方法?或者有其他方法可以实现吗?
【问题讨论】:
-
计时器和其他计算是否在相同线程上?
-
@JoshCaswell 不,它们在不同的线程上。
标签: objective-c multithreading cocoa-touch ios5 heavy-computation