Sobes.tech
Junior — Middle

Come mostrare i messaggi precedenti all'utente se la rete non è disponibile?

sobes.tech AI

Risposta dell'AI

Per mostrare i messaggi precedenti all'utente in assenza di rete su iOS, è necessario implementare la cache locale dei messaggi. Per farlo:

  • Salvare i messaggi ricevuti in un database locale, come Core Data o Realm.
  • Al caricamento della chat, caricare prima i messaggi dal deposito locale.
  • In assenza di rete, mostrare questi dati locali.

Esempio di utilizzo di Core Data per caricare i messaggi:

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("Errore nel caricamento dei messaggi: \(error)")
        return []
    }
}

In questo modo, l'utente vede sempre la cronologia dei messaggi, anche se la rete non è disponibile.