Junior — Middle
Como exibir mensagens anteriores ao utilizador se a rede não estiver disponível?
sobes.tech IA
Resposta da IA
Para mostrar mensagens anteriores ao utilizador na ausência de rede no iOS, é necessário implementar o cache local de mensagens. Para isso, pode-se:
- Guardar as mensagens recebidas numa base de dados local, como Core Data ou Realm.
- Ao carregar o chat, carregar primeiro as mensagens do armazenamento local.
- Quando não houver rede, mostrar esses dados locais.
Exemplo de uso do Core Data para carregar mensagens:
func fetchCachedMessages() -> [Message] {
let fetchRequest: NSFetchRequest<Message> = Message.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "date", ascending: true)]
do {
let messages = try context.fetch(fetchRequest)
return messages
} catch {
print("Erro ao carregar mensagens: \(error)")
return []
}
}
Assim, o utilizador vê sempre o histórico de mensagens, mesmo que a rede não esteja disponível.