trabado restauracion reconoce queda progreso manzana logo barra iphone progress-bar nsurlconnection

restauracion - mi iphone se queda en el logo de itunes



¿Cómo hacer una barra de progreso para una NSURLConnection al descargar un archivo? (1)

En su delegado de NSURLConnection , implemente algo así para conocer la longitud total del contenido. El servidor tiene que admitir esto, pero lo más probable es que funcione bien con contenido estático:

- (void)connection: (NSURLConnection*) connection didReceiveResponse: (NSHTTPURLResponse*) response { statusCode_ = [response statusCode]; if (statusCode_ == 200) { download_.size = [response expectedContentLength]; } }

Y luego actualiza el progreso de esta manera:

- (void) connection: (NSURLConnection*) connection didReceiveData: (NSData*) data { [data_ appendData: data]; download_.progress = ((float) [data_ length] / (float) download_.size); // Broadcast a notification with the progress change, or call a delegate }

En mi caso, tengo una instancia de descarga que tiene propiedades de size y progress . Son propiedad de un objeto global DownloadManager que se encargará de notificar a las partes interesadas sobre el progreso de la descarga o los cambios de estado.

Quiero mostrar una barra de progreso mientras se realiza una descarga con NSURLConnection. Como estoy recibiendo datos del servidor, podría actualizar la interfaz de usuario para cada paquete recibido. Pero el problema es: ¿cómo averiguo cuántos datos ya tengo y cuántos datos hay que descargar? Probablemente en bytes ... ¿Y luego tengo que hacer algunas matemáticas para obtener el porcentaje?