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.