Dies ist ein bisschen spät (Ihre Frage wurde im Jahr 2009 veröffentlicht, vor mehr als einem Jahr), aber ich hatte einige Probleme mit meinem NSUrlConnection-Code. NSUrlConnection stürzte ständig ab und ich dachte der Absturz war mit meiner Veröffentlichung von NSUrlConnection [theConnection release];
verbunden. Ich schrieb meinen Code wie in Apples Beispiel here, aber ich beendete die Verbindung, nachdem sie in "Listing 1" erstellt wurde, anstatt sie dort zu veröffentlichen, wo Apple sowohl didFailWithError
als auch connectionDidFinishLoading
tut, 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.
Ich überprüft Retaincount nach dem Erstellen meiner NSUrlConnection - es war 2. Ich fühle, dass es korrekt ist, sofort zu veröffentlichen. Will jemand dem widersprechen oder eine Antwort erstellen, die das sagt? – Alan