У меня есть вопрос, на который мы могли бы ответить вместе, у меня в приложении для iphone есть тикертап (например, эти стикеры), и я использую NSThread, чтобы держать память подальше от основного потока, чтобы приложение не замедляло работу. Теперь дело в том, что он делает свою работу хорошо, но когда я прокручиваю UITableView, который у меня есть в том же виде, я замечаю, что моя анимация тикера перестает работать.
ViewController.m (Основной вид этого объекта имеет ленту тикеров)
-(void)startTicker {
[NSThread detachNewThreadSelector:@selector(start) toTarget:ticker withObject:nil];
}
TickerView.c (это обрабатывает анимацию тикерной ленты)
// Called from the viewcontroller
-(void) start {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self performSelectorOnMainThread:@selector(loop) withObject:nil waitUntilDone:YES];
[pool release];
}
-(void)loop {
timerHandle = [NSTimer scheduledTimerWithTimeInterval:.01f target:self selector:@selector(render) userInfo:nil repeats:YES];
}
-(void) render {
// Does a *** load of calculations here and moves the items in the tickertape..
}
Мой вопрос: как я могу запретить UITableview или любому другому событию view / touch заблокировать этот поток от обновления анимации тикерной ленты?.