iOS App - Zeitlimit für das Laden von UIWebView festlegen
Habe ich eine einfache iOS app, die Lasten einer einzigen UIWebView. Ich möchte die webView zeigen eine Fehlermeldung, wenn die app nicht VOLLSTÄNDIG geladen, die erste Seite in der webView innerhalb von 20 Sekunden.
Lade ich meine URL für das webView in meiner viewDidLoad
wie folgt aus (vereinfacht):
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com"] cachePolicy:NSURLCacheStorageAllowed timeoutInterval:20.0]];
Den timeoutInterval
im code oben nicht wirklich "tun" etwas, denn Apple hat es in der OS nicht wirklich die Zeit für 240 Sekunden.
Habe ich meine webView didFailLoadWithError
Aktionen setzen, aber wenn der Benutzer über eine Netzwerkverbindung, diese wird nie genannt. Die webView-nur weiter zu laden mit meinem networkActivityIndicator Spinnen.
Gibt es eine Möglichkeit ein timeout für die webView?
-(void)webView: NSTimer * theTimer { NSLog(@"Mir ist hier auf 1 minute"); }
Wie die Ziel-Methode sollte ich verwenden? InformationsquelleAutor der Frage adamdehaven | 2012-07-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den timeoutInterval ist für den Anschluss. Einmal webview verbunden die URL, die Sie brauchen, um NSTimer und tun Sie Ihre eigenen timeout-handling. So etwas wie:
InformationsquelleAutor der Antwort mask8
Alle vorgeschlagenen Lösungen sind nicht ideal. Der richtige Umgang mit dem timeoutInterval auf die
NSMutableURLRequest
selbst:InformationsquelleAutor der Antwort Sandy Chapman
Mein Weg ist ähnlich wie das akzeptierte Antwort, aber nur stopLoading, wenn die Zeit aus und die Steuerung in didFailLoadWithError.
InformationsquelleAutor der Antwort LE SANG
Swift-Programmierer können es wie folgt:
InformationsquelleAutor der Antwort Satnam Sync