HUD Spinner не отображается
Я использую MBPROGRESSHUD для реализации прядильщика и пользовательского представления для моего приложения. Фрагмент кода s (в моем классе загрузчика), как показано ниже:
- (void)postObjects:(NSDictionary*) params andImage:(NSData *)img
{
.....
//THIS IS THE PART WHICH CALLS THE HUD
[self performSelector:@selector(showLoading) withObject:nil afterDelay:0];
[objectLoader send];
}
- (void) showLoading
{
//CODE TO TRIGGER HUD SPINNER WITH LABEL
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:viewToShowLoading animated:YES];
NSString * postingMsg = @"Pinning Question";
hud.labelText = postingMsg;
}
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects
{
//THIS IS THE PART WHERE THE HUD IS HIDDEN
[MBProgressHUD hideHUDForView:viewToShowLoading animated:YES];
//THIS IS WHERE I WANT TO DISPLAY THE CUSTOM VIEW WITH THE TEXT "QUESTION PINNED"
self.HUDText = @"Question Pinned";
[self performSelector:@selector(showCompleteHUD) withObject:nil afterDelay:0];
}
- (void) showCompleteHUD
{
//CODE TO TRIGGER CUSTOM VIEW DISPLAY
HUD = [[MBProgressHUD alloc] initWithView:viewToShowLoading];
[viewToShowLoading addSubview:HUD];
[HUD showWhileExecuting:@selector(customHUDComplete) onTarget:self withObject:nil animated:YES];
}
- (void)customHUDComplete
{
HUD.customView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"37x-Checkmark.png"]] autorelease];
HUD.mode = MBProgressHUDModeCustomView;
HUD.labelText = self.HUDText;
sleep(2);
}
Проблема с приведенным выше кодом заключается в том, что после первого отображения счетчика HUD последующее выполнение не привело к отображению счетчика HUD, а просто пропустило отображение пользовательского представления.
Это проблема синхронизации (асинхронная проблема)? Если это так, как я могу убедиться, что счетчик всегда отображается до появления пользовательского представления?