Wann das NSUrlConnection-Objekt freigegeben werden soll

7

Was ist der richtige Punkt, an dem ein NSUrlConnection-Objekt freigegeben wird?

In meinem Programm weise ich eine NSUrlConnection und dann initWithRequest zu, um asynchron zu starten.

Ich bin jetzt verantwortlich für die Freigabe des Objekts - wann kann / kann ich es freigeben? Sofort, wenn ich es nicht wieder benutze?

    
Alan 11.10.2009, 18:26
quelle

4 Antworten

7

Ihre Verwendung der NSUrlConnection kann sofort freigegeben werden.

Das Framework wird freigegeben, wenn es damit fertig ist.

    
Alan 10.01.2010, 18:04
quelle
10

Wenn Sie mit dem NSURLConnection fertig sind. Sie wissen, dass Sie damit fertig sind, wenn Ihr NSURLConnection Delegat - (void)connectionDidFinishLoading:(NSURLConnection *)connection oder - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error erhält. Gib es einfach am Ende dieser beiden Methoden frei.

    
G Gordon Worley III 11.10.2009 18:29
quelle
1

Sie müssen es nicht freigeben, bis das Framework eine Benachrichtigung ausgibt, die erledigt wurde, zB in connection:didFailWithError: .

    
Jed Smith 11.10.2009 18:29
quelle
1

Dies ist ein bisschen spät (Ihre Frage wurde 2009 vor über einem Jahr veröffentlicht), aber ich hatte einige Probleme mit meinem NSUrlConnection-Code. NSUrlConnection stürzte immer weiter ab und ich dachte der Absturz war mit meiner Veröffentlichung von NSUrlConnection [theConnection release]; verbunden. Ich schrieb meinen Code wie in Apples Beispiel hier , Aber ich habe die Verbindung nach der Erstellung in "Listing 1" freigegeben, anstatt sie dort zu veröffentlichen, wo Apple sowohl in didFailWithError als auch in connectionDidFinishLoading funktioniert und es scheint gut zu funktionieren. Ich bin mir nicht ganz sicher, aber vielleicht wurden beide Delegierten angerufen, und eine Doppelfreigabe war der Grund für den Absturz. Ich war mir nicht sicher, ob ich mein NSUrlConnection-Objekt direkt nach der Erstellung freigeben konnte, bis ich diese Frage gelesen hatte, aber das schien den Trick zu machen.

    
Jackson 01.12.2010 06:03
quelle

Tags und Links