Я пытаюсь контролировать поток, который я установил в фоновом режиме. Мне нужно получить предупреждение, когда он будет завершен.Мониторинг фона Темы
- (IBAction) btnGreaterTen_clicked :(id)sender{
self.searchDistance = [NSNumber numberWithDouble : 10];
CGRect frame = CGRectMake (120.0, 185.0, 80, 80);
activity = [[UIActivityIndicatorView alloc] initWithFrame: frame];
activity.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
[navigationUpdateFromDetail.window addSubview: activity];
[activity startAnimating];
thread = [[NSThread alloc] init];
[thread start];
[self performSelectorInBackground: @selector (getSetDisplay) withObject:nil];
if(thread.isFinished == YES){
[activity stopAnimating];
}
}
Приведенный выше код, который у меня есть, после того, как вы попытались настроить его для достижения конечного результата. Я пытаюсь оживить UIActivityIndicator, пока я использую этот метод getSetDisplay для захвата информации из сети.
Функция хорошая, но индикатор активности не поднимался. Мне сказали, что мне нужно запустить этот процесс в фоновом потоке и анимации основного потока. Моя проблема теперь в том, как мне отслеживать, когда этот процесс выполняется, чтобы остановить индикатор активности. заранее заблаговременно
Я пробовал этот метод, но UIActivity от того, что я понимаю, нужно запускать в основном потоке, и ОС помещает его в этот поток. Вот почему я запускаю мой метод на фоне. я просто должен знать, как его контролировать – Makinitez21
Подумайте о том, чтобы положить что-то вроде этого в конце вашего метода getSetDisplay: '[activity performSelectorOnMainThread: @selector (stopAnimating) withObject: nil waitUntilDone: NO]' – Mike
Ваша тема = [ [NSThread alloc] init]; кажется, ничего не делает. Вы создаете там нить, а затем еще один с вызовом performSelectorInBackground. Вышеуказанные комментарии, вероятно, так, как я бы хотел ... Или вы могли бы использовать NSNotifications для сообщения между фоном op и передним планом op. – Hunter