ios - inside - UITablewView detiene las representaciones durante el desplazamiento
tableview inside scrollview swift (1)
Introducción corta
Actualmente tengo una UITableView que está llena de celdas personalizadas que muestran el progreso de carga de los archivos que actualmente se cargan en un servidor. Los procesos de carga son simplemente objetos NSURLConnection que se ejecutan de forma asincrónica en segundo plano utilizando el método asincrónico estándar de NSURLConnection.
El problema es que durante el desplazamiento, UITableView, o supongo que el UIScrollView de UITableview, bloquea el hilo principal completo, lo que hace que la información vital como el proceso de carga de mis archivos no se actualice hasta que UIScrollView esté en una parada.
Investigación
Ahora me topé con Creo que es exactamente el mismo problema que el mío en esta publicación: Pregunta similar
Entonces parece que todo el hilo principal se bloquea. También logré agregar un temporizador como en la publicación anterior, que se llama incluso durante el desplazamiento. Pero ... desafortunadamente no soluciona realmente mi situación.
El problema sigue siendo que los objetos NSURLConnection se bloquean, lo que significa que el método de eliminación NSURLConnection: didSendBodyData
todavía no se llama, que es donde obtengo la nueva cantidad de bytes escritos en el servidor y demás, por lo que simplemente no puedo recibir los datos.
¿Hay alguna forma de evitar este problema? ¿Tendría que crear algún tipo de UIScrollView personalizado o algo así para evitar la limitación, como crear mi propio mecanismo de desplazamiento?
¿Ha considerado mover el código de NSURLConnection
para ejecutar en un hilo de fondo? Esto debería permitir que se ejecute incluso cuando el usuario se desplaza.
Su UITableView
es un UIScrollView
(que mencionó) y eso significa que puede registrar un UIScrollViewDelegate
contra. Si implementa scrollViewDidScroll:
efectivamente puede tener su encuesta principal de hilos para ver si todavía tiene los resultados de su NSURLConnection
.