NSURLRequest no se activará mientras UIScrollView esté desplazándose

Tengo un problema en que estoy tratando de cargar en segundo plano un file de sonido mientras el usuario se mueve alnetworkingedor de un UIScrollView … El problema es que estoy usando NSURLRequest para que pueda cargarlo en segundo plano, pero incluso entonces se niega a cargar realmente hasta el UIScrollView ha dejado de desplazarse. Significado de la palabra

¿Hay algo que pueda hacer al respecto?

¡Gracias!

La NSURLRequest solo gestiona la request, no la connection real.

Los events táctiles, como el desplazamiento, colocarán el bucle de ejecución en NSEventTrackingRunLoopMode . De forma pnetworkingeterminada, una NSURLConnection está progtwigda para ejecutarse solo en NSDefaultRunLoopMode . Entonces mientras está en NSEventTrackingRunLoopMode , NSDefaultRunLoopMode está bloqueado.

Una buena noticia es que puede progtwigr modos adicionales para una NSURLConnection , como NSRunLoopCommonModes .

 connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO]; [connection scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; [connection start]; 

He descubierto de la manera más difícil que si llama a startImmediately: YES o omite este parámetro, la segunda línea es completamente inútil. Así que asegúrese de seguir el patrón exacto proporcionado por @tidwall.

Aquí también hay un ejemplo rápido:

 self.connection = NSURLConnection(request: self.request, delegate: self, startImmediately:false) self.connection?.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes) self.connection?.start()