Korzystanie z MBProgressHUD Globalnie + spraw, by był singleton

W moim projekcie każde zdarzenie interakcji użytkownika wywołuje połączenie sieciowe (czyli TCP, a nie HTTP). Potrzebuję wskaźnika aktywności, aby był globalnypokazać z losowegoUIViewController iukryć zNetworkActivityManager Klasa (niestandardowa klasa do obsługi działań sieciowych, która nie jest podklasą UIViewController lub UIView).

Po przeszukaniu sieci dowiedziałem się o tymMBProgressHUD jest używany do tego samego celu, ale nie byłem w stanie znaleźć przykładu, w jaki sposób mógłbym go używać globalnie. (Mówiąc globalnie mam na myśli obiekt singletonMBProgressHUD i klasowe metody POKAŻ i UKRYJ.)

Oto, co próbowałem jeszcze, ale zawiodłem: wAppDelegate.h:

@property (nonatomic, retain) MBProgressHUD *hud;

WAppDelegate.m:

@synthesize hud;

W niektórych losowych obiektach UIViewController:

appDelegate.hud = [MBProgressHUD showHUDAddedTo:appDelegate.navigationController.topViewController.view animated:YES];
appDelegate.hud.labelText = @"This will take some time.";

I ukrywając to przedNetworkActivityManager Klasa:

[MBProgressHUD hideHUDForView:appDelegate.navigationController.topViewController.view animated:YES];

To powoduje, że projekt ulega awarii po pewnym czasie (z powodu problemów z pamięcią). Używam ARC w moim projekcie, a także używam wersji ARCMBProgressHUD.

Czy czegoś mi brakuje?

Ważne pytanie:

Czy mogę zrobićMBProgressHUD działa jak UIAlertView? (Mówiąc, że mam na myśli wdrożenieMBProgressHUD niezależny od UIView - sa używashowHUDAddedTo: zaprezentować się) ???

Uwaga: W powyższym kodzie ukrywania MBProgressHUD, widok może zostać zmieniony w porównaniu z wyświetlaniem MBProgressHUD.

Każda pomoc bardzo mile widziana.

questionAnswers(9)

yourAnswerToTheQuestion