Я играю с MBProgressHUD. worflow в ViewController (Tableview) проходит так:MBProgressHUD не показывать
1) IBAction вызывается для переключения между 2 разными таблицами 2.1) Функцией reloadAllMonth
вызывается (инициализирует массив с данными для новой таблицы) 2.2) MBProgressHUD * HUD должен отображаться 3) reloadAllMonth закончена 4) HUD должны исчезнуть
мой текущий код:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
//sparing you the code that determins where the tap occured
HUD = [[MBProgressHUD alloc]initWithFrame:self.view.frame];
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[self reloadAllMonth];
allMonthIsActive = YES;
[MBProgressHUD hideHUDForView:self.view animated:YES];
// some other code table reload etc.
}
что происходит:
-> функция touchesbegan не вызывается -> ничего не происходит в течение 3-4 секунд (время загрузки) -> новая таблица выскакивает
вопрос: почему HUD не появляются? Где я неправ ?
Я изменил свой код на ваше предложение, но он ничего не меняет. HUD все еще не показывает. Я обновил код вопросов до нового. –
Ответ проверен – Zalykr
Это была моя абсолютная первая идея и код. проблема заключается в следующем: метод reloadAllMonth затем выполняется в backgroundthread. таким образом, основной поток запускается и начинает рисовать таблицу. tableview нуждается в загрузке данных в reloadAllMonth. поэтому таблица начинает рисовать до того, как ее данные будут доступны, таким образом, приложение завершится с ошибкой =) –