Вы можете решить эту проблему, сохранив оригинальный объект NSMutableURLRequest
и снова создав соединение, в Swift это выглядит примерно так:
class MyConnectionHandler {
var request:NSMutableURLRequest?
var connection: NSURLConnection?
var retryCount=0
var maxRetries=2
...
functions to setup the request object, and create a connection
----
func connection(connection: NSURLConnection, didFailWithError error: NSError) {
if(retryCount<maxRetries) {
retryCount++
self.connection=NSURLConnection(request: request!, delegate: self, startImmediately: true)
} else {
<throw a tantrum>
}
}