¿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í
}
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.