es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Necesito colocar urlsession datatask en otra DispatchQueue o se hace automáticamente?

No tenía experiencia previa con datatasks y urlsessions antes. Así que estoy curioso. El caso es que estoy tratando de tener una tabla con desplazamiento infinito. Cuando se llama a este método

tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath])

de UITableViewDataSourcePrefetching y después de verificar que al menos un IndexPath tiene una fila mayor que el número actual de elementos – empiezo a cargar nuevos datos con urlsession datatask. Y la pregunta es: ¿necesito hacer algo como esto?

let queue = DispatchQueue.global(qos: .userInteractive)
queue.async {
miTareaVaAquí
}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, se recomienda utilizar una DispatchQueue separada para la tarea de datos de URLSession, con el fin de evitar bloquear el hilo principal y hacer que la interfaz de usuario se vuelva no receptiva. El método global(qos:) crea una cola de despacho global que puedes utilizar para este propósito. Al utilizar una cola separada, tu tarea de datos se ejecutará en segundo plano y proporcionará un mejor rendimiento para el usuario.

Comments are closed.