Jeśli piszesz kod tak:?
- (void) doStuff
{
[activityIndicator startAnimating];
...lots of computation...
[activityIndicator stopAnimating];
}
Nie jesteś dając czas UI rzeczywiście uruchomić i zatrzymać wskaźnik aktywności, ponieważ wszystkie twoje obliczenia znajdują się w głównym wątku. Jednym z rozwiązań jest wywołanie startAnimating w osobnym wątku:
- (void) threadStartAnimating:(id)data {
[activityIndicator startAnimating];
}
- (void)doStuff
{
[NSThread detachNewThreadSelector:@selector(threadStartAnimating:) toTarget:self withObject:nil];
...lots of computation...
[activityIndicator stopAnimating];
}
Albo można umieścić swoje obliczenia na osobnym wątku, i czekać na to, aby zakończyć przed wywołaniem stopAnimation.
może chcesz zrobić jasne jest, że publikujesz odpowiedź na pytanie w stylu bloga. – TechZen