Handhabung ein NSURLRequest mit timeout bei der Verwendung von Delegaten

Ich bin mit einem NSMutableURLRequest, um eine Verbindung zu einer Website zu bekommen, eine JSON-Antwort. Ich mache so durch die Generierung der Anforderung und Verwendung von NSURLConnection mit einem Delegierten selbst zu behandeln, das async-Verbindung. Ich habe bisher alle normalen delegate-Methoden:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
- (void)connectionDidFinishLoading:(NSURLConnection *)connection

Funktioniert alles perfekt mit dem abrufen von Daten zurück, Umgang mit Fehlern, die auftreten, etc. Jedoch mit dem timeout auf die NSURLRequest auf 10 Sekunden eingestellt, die ich nicht scheinen, um genannt, in denen die Methoden (die ich erwartet habe didFailWithError genannt, bekommen). Es sitzt einfach da, für immer, und ich habe keine Benachrichtigung, dass es eine Zeitüberschreitung.

Lesen die iPhone-API-docs sehe ich keine Erwähnung von dem, was sollte passiert, wenn das timeout Auftritt, nur, dass Sie können den timeout-Wert einstellen. Was soll passieren? Ich sehe keinen anderen delegieren-Methoden der API, die helfen würde. Ich nicht haben, um manuell überprüfen für timeouts, tun ich? Sind die timeouts nur für synchrone Anfragen?

Ich Stimme Corey, dass ich es bekommen sollten, in die didDailWithError Methode, aber es ist nie genannt. Beide Haltepunkte und Protokolle in dieser Methode zeigen, dass es nie genannt wird, für ein timeout.
Für mehr Kontext, sofern es einen Unterschied macht, bin ich mit der Methode gesprochen, in der Antwort für stackoverflow.com/questions/332276/... zu verfolgen, die verbindungen, die ich habe, hervorragend.
Ich sieht aus wie dies vielleicht ein bug in der beta-SDK 3.0, denn sobald der endgültige Veröffentlichung war, es funktionierte wie erwartet.

InformationsquelleAutor Parrots | 2009-08-10

Schreibe einen Kommentar