Как не прерывать выполнение каждого scrollView и NSTimer программно? - PullRequest
1 голос
/ 12 ноября 2011

На прокрутку Scrollview и NSTimer влияет основной поток, поэтому я не могу обрабатывать две задачи одновременно.

Когда в определенное время происходит прокрутка, как программно справиться с двумя задачами (NSTimer, Scrolling)?

MyView добавляет Scrollview и одновременно выполняет каждую вторую анимацию NSTimer.

Однако при прокрутке NSTimer не работает анимация.работы удерживаются (они ожидают в очереди.) в конце прокрутки (называемой scrollViewDidEndDecelerating), анимация ожидающих работ выполняется.

Во время прокрутки я хотел бы работать одновременно NSTimer.

1 Ответ

0 голосов
/ 13 ноября 2011

Вы не предоставили никакого кода, поэтому я просто напишу, как можно разделить вашу задачу на два разных потока.

Для перемещения анимации в фоновом потоке, чтобы она не прерывалась, используйте:

[self performSelectorInBackground:@selector(METHOD_NAME) withObject:nil];

пример:

-(void)doStuff{
    //Whatever you call here will be executed on main thread.
    NSLog(@"This is main thread");

    [self performSelectorInBackground:@selector(animate) withObject:nil];
}

-(void)animate{
    //Whatever you call here will be executed on a background thread.
    NSLog(@"This is background thread");
}

Не злоупотребляйте потоками, они используют много ресурсов. Используйте их, когда это необходимо.

...