Junior — Middle
Como implementar a exibição de dados obtidos de três fontes ou consultas diferentes, simultaneamente numa interface ou aplicação?
sobes.tech IA
Resposta da IA
Para exibir dados de três fontes diferentes simultaneamente numa aplicação iOS, muitas vezes utiliza-se uma abordagem de combinação assíncrona de resultados. Por exemplo, pode-se usar DispatchGroup para acompanhar a conclusão de todas as três requisições, e depois atualizar a interface:
let group = DispatchGroup()
var data1: DataType1?
var data2: DataType2?
var data3: DataType3?
group.enter()
fetchDataFromSource1 { result in
data1 = result
group.leave()
}
group.enter()
fetchDataFromSource2 { result in
data2 = result
group.leave()
}
group.enter()
fetchDataFromSource3 { result in
data3 = result
group.leave()
}
group.notify(queue: .main) {
// Todos os dados foram recebidos, atualizar a UI
updateUI(data1: data1, data2: data2, data3: data3)
}
Também é possível usar Combine ou async/await (nas versões mais recentes do Swift) para trabalhar de forma mais conveniente com múltiplos fluxos de dados assíncronos e sua combinação.