Uso de MBProgressHUD Globalmente + torná-lo singleton
No meu projeto, cada um dos eventos de interação do usuário faz uma chamada de rede (que é TCP, não HTTP). Eu preciso que o Indicador de Atividade seja global paraexposição de um aleatórioUIViewController
eocultar deNetworkActivityManager
Classe (uma classe personalizada para lidar com atividades de rede, que não é uma subclasse de UIViewController ou UIView).
Depois de pesquisar na web, descobri queMBProgressHUD é usado para o mesmo propósito, mas não consegui descobrir um exemplo de como usá-lo globalmente. (Ao dizer global quero dizer um objeto singleton deMBProgressHUD e métodos de classe para SHOW e HIDE.)
A seguir, o que eu já tentei, mas falhei:AppDelegate.h:
@property (nonatomic, retain) MBProgressHUD *hud;
EmAppDelegate.m:
@synthesize hud;
Em algum objeto aleatório do UIViewController:
appDelegate.hud = [MBProgressHUD showHUDAddedTo:appDelegate.navigationController.topViewController.view animated:YES];
appDelegate.hud.labelText = @"This will take some time.";
E enquanto escondendo, deNetworkActivityManager
Classe:
[MBProgressHUD hideHUDForView:appDelegate.navigationController.topViewController.view animated:YES];
Isso faz com que o projeto trave após algum tempo (devido a problemas de memória). Estou usando o ARC no meu projeto e também, estou usando a versão ARC doMBProgressHUD.
Estou esquecendo de algo?
Questão importante:
Posso fazerMBProgressHUD funciona como o UIAlertView? (Dizendo que eu quero dizer implementação deMBProgressHUD independente do UIView - sa ele usashowHUDAddedTo:
apresentar-se) ???
Por favor, observe: No código acima, de esconder o MBProgressHUD, o View pode ser alterado em relação ao que estava mostrando MBProgressHUD.
Qualquer ajuda muito apreciada.