Verwendung von MBProgressHUD Global + Singleton
In meinem Projekt führen alle Benutzerinteraktionsereignisse einen Netzwerkaufruf durch (TCP, nicht HTTP). Ich brauche einen Aktivitätsindikator, um global zu seinShow von einem zufälligenUIViewController
undverbergen vonNetworkActivityManager
Klasse (eine benutzerdefinierte Klasse zur Verarbeitung von Netzwerkaktivitäten, die keine Unterklasse von UIViewController oder UIView ist).
Nachdem ich im Internet gesucht hatte, fand ich das herausMBProgressHUD wird für den gleichen Zweck verwendet, aber ich konnte kein Beispiel herausfinden, wie ich es global verwenden würde. (Mit global meine ich ein Singleton - Objekt vonMBProgressHUD und Klassenmethoden zum ANZEIGEN und AUSBLENDEN.)
Folgendes habe ich noch versucht, ist aber gescheitert:AppDelegate.h:
@property (nonatomic, retain) MBProgressHUD *hud;
ImAppDelegate.m:
@synthesize hud;
In einem zufälligen UIViewController-Objekt:
appDelegate.hud = [MBProgressHUD showHUDAddedTo:appDelegate.navigationController.topViewController.view animated:YES];
appDelegate.hud.labelText = @"This will take some time.";
Und während Sie es verstecken, ausNetworkActivityManager
Klasse:
[MBProgressHUD hideHUDForView:appDelegate.navigationController.topViewController.view animated:YES];
Dadurch stürzt das Projekt nach einiger Zeit ab (aufgrund von Speicherproblemen). Ich verwende ARC in meinem Projekt und verwende auch die ARC-Version vonMBProgressHUD.
Vermisse ich etwas?
Wichtige Frage:
Kann ich machenMBProgressHUD Wie UIAlertView arbeiten? Ich meine die Umsetzung vonMBProgressHUD unabhängig von UIView - sa verwendetshowHUDAddedTo:
sich präsentieren) ???
Bitte beachten Sie: In dem obigen Code zum Ausblenden von MBProgressHUD kann die Ansicht von der Ansicht beim Anzeigen von MBProgressHUD geändert werden.
Jede Hilfe sehr geschätzt.