Каково оптимальное значение для объекта NSTimer? - PullRequest
0 голосов
/ 12 декабря 2011

Я пишу какое-то приложение.У меня там какой-то класс с пользовательским видом.В представлении есть таймер, который вызывает метод "setNeedsDisplayInRect".Мне нужно, чтобы этот таймер был очень оскорбительным для целей анимации (нет очень сложной анимации).Я установил значение для таймера: 0,0001.Это значение не слишком велико?Приложение правильно работает с ним.

Ответы [ 2 ]

5 голосов
/ 12 декабря 2011

Не используйте 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];
}
0 голосов
/ 12 декабря 2011

Если вы делаете анимацию, вы пробовали Core Animation или UIView Animation?Это может сделать все немного проще, чем делать анимацию самостоятельно, используя таймер.

...