
Question:
Is there a way to implement NSURLConnection without it leaking? A number of Apps including NYTimes and others (including mine) suffer from this. Anyone have a working implementation?
Answer1:It appears that best practice is to use NSURLConnection asynchronously.
Answer2:<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/nsurlconnection_Class/Reference/Reference.html#//apple_ref/occ/clm/NSURLConnection/sendSynchronousRequest:returningResponse:error:" rel="nofollow">According to the documentation</a>, +[NSURLConnection sendSynchronousRequest:returningResponse:error:]
is built on top of the asynchronous loading code made available by NSURLConnection
. It would not be difficult to reimplement this by spawning and blocking on an NSThread
, running the request asynchronously in the background on a run loop and ending the thread once either connectionDidFinishLoading:
or connection:didFailWithError:
is received.
<sub>Of course, you are better off using the asynchronous code in the first place; it makes for a much better user experience</sub>