Forma adecuada de cerrar NSURLConnection

Estoy usando la architecture del cliente del server en mi aplicación.

Estoy usando la class NSURLConnection, ahora supongo que estoy enviando múltiples requestes en bucle for y utilizando una connection asíncrona con methods de delegado. Así que mi pregunta es después de que obtuve la respuesta del server. Necesito cerrar la connection manualmente y hacer que ese object sea nulo.

Estoy preguntando porque en el server hay una restricción en las conexiones máximas que se deben realizar y si ese límite de connection excede, tengo que reiniciar el server y no puedo cambiar el límite de connection máximo.

No. No es necesario, ya que NSURLConnection cerrará la connection por sí solo cuando ocurra un error o los datos se hayan cargado.

Si desea supervisar lo que realmente sucede, sugiero consultar las preguntas y respuestas técnicas QA1176 . Describe cómo puede configurar un entorno para supervisar cada package enviado por un iPhone. Luego puede verificar el comportamiento de NSURLConnection usted mismo.

La forma correcta de liberar la connection es configurarla como nil junto con la propiedad utilizada para recibir los datos de la connection:

 theConnection = nil; receivedData = nil; 

Esto es de la Guía de progtwigción de la session de URL en la sección Uso de NSURLConnection .

Libere la connection y el object de datos configurando las properties (declaradas en otro lugar) a cero. Tenga en count que una aplicación del mundo real por lo general requiere que el delegado administre más de una connection a la vez, por lo que estas líneas normalmente se reemplazan por código para iterar a través de las estructuras de datos que esté utilizando.

Utilicé esto … me pueden ayudar

 [self.connection cancel]; self.connection = nil;