Sobes.tech
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.