Я создаю приложение, которое извлекает набор результатов из базы данных - я использую MBProgressHUD , чтобы показать ход выполнения запроса с анимацией.Метод, который я использую, вызывает анимацию при выполнении метода в другом потоке, и, как только это будет сделано, анимация будет скрыта.Мой вопрос после вызова:
[HUD showWhileExecuting:@selector(getResults) onTarget:self withObject:nil animated:YES];
Я хотел бы, если нет результатов, отобразить предупреждение об этом, и, если есть, загрузить следующий вид.Пока у меня есть этот код:
[HUD showWhileExecuting:@selector(getResults) onTarget:self withObject:nil animated:YES];
if(self.thereAreEvents) {
[self performSegueWithIdentifier:@"searchResults" sender:self];
} else {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No results" message:@"Sorry, there are no results for your search. Please try again." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
self.thereAreEvents
устанавливается в конце метода getResults
.Однако, поскольку этот метод вызывается в другом потоке, эта строка выполнения продолжается и показывает предупреждение, даже если в базе данных есть события.
Итак, у меня есть два вопроса: Какой самый простой способ?реализовать механизм ожидания сигнала в iOS, и как наиболее эффективно реализовать такой механизм в iOS?
Спасибо!