NSTimer对象的最佳值是多少?

时间:2011-12-12 04:11:31

标签: iphone cocoa core-animation nstimer

我正在写一些应用程序。我有一些自定义视图的课程。在视图中有一个定时器正在调用“setNeedsDisplayInRect”方法。为了动画的目的,我需要那个计时器非常令人反感(没有非常复杂的动画)。我已设置计时器的值:0.0001。那个价值不算太大吗?该应用程序正常使用它。

2 个答案:

答案 0 :(得分:5)

请勿使用NSTimer。使用CADisplayLink。它将以设备的最佳速率运行。

像这样设置:

self.displayLink = [self.view.window.screen displayLinkWithTarget:self selector:@selector(setNeedsDisplayForMyView)];
[self.displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];

并定义方法setNeedsDisplayForMyView

- (void)setNeedsDisplayForMyView
{
    [self.view setNeedsDisplayInRect:self.dirtyRect];
}

答案 1 :(得分:0)

如果您正在制作动画,您是否尝试过Core Animation或UIView Animation?这可能会比使用计时器自己做动画更容易。