Gewusst wie: hinzufügen MBProgressHUD warten für das laden von Daten in iOS
Ich habe ein problem: ich habe AFNetworking, um Daten vom server, die ich verwendet, NSOperationQueue um viele Betrieb, in jeder Anfrage, ich habe diese operation in die Warteschlange und verwendet waitUntilAllOperationsAreFinished
als Gebrüll :
request 1
...
[queue addOperation:operation1];
[queue waitUntilAllOperationsAreFinished];
request 2
...
[queue addOperation:operation2];
[queue waitUntilAllOperationsAreFinished];
Ich habe versucht, obigen code und meine Programme scheint hängt und danach, es läuft ok.So, ich möchte Hinzugefügt MBProgressHUD zum wartenden beenden, dann möchte ich überprüfen, wenn queue fertig sind, möchte ich ausblenden MBProgressHUD. Aber wenn ich auf den Button klicken zu laden UIViewController, MBProgressHUD nicht zeigen.
HUD = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:HUD];
HUD.delegate = self;
HUD.labelText = @"Loading";
Eigentlich möchte ich zeigen, MBProgressHUD, wenn queue fertig. Wie kann ich das tun? Vielen Dank an alle
InformationsquelleAutor Joson Daniel | 2013-10-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz kann man es so machen:
Überprüfen
MBProgressHUD
's NutzungInformationsquelleAutor sunkehappy
Anderen Besseren Ansatz..
Und doSomeFunkyStuff
Detail Antwort ist hier..
InformationsquelleAutor Xar E Ahmer
waitUntilAllOperationsAreFinished
wird bock den aktuellen thread, das ist wohl der Haupt-thread, so dass Sie wirklich nicht wollen, zu tun.Wenn Sie mit AFNetworking dann schauen Sie sich diese Methode auf
AFHTTPClient
So zeigen Sie die HUD-dann rufen Sie diese Methode auf und verstecken Sie Ihre HUD in der
completionBlock
InformationsquelleAutor Mike Pollard