Ho appena iniziato a utilizzare Realm per il caching nella mia app iOS. L'app è un negozio, con la merce. Mentre l'utente sfoglia la merce, aggiungo gli articoli al database. Tuttavia, poiché questi elementi non rimangono disponibili per sempre, non ha senso tenerli nel database oltre un certo punto, diciamo 24 ore. Esiste un modo preferito per lasciare scadere gli oggetti dopo un certo periodo di tempo? O sarebbe meglio aggiungere una proprietà data e interrogare questi oggetti su ogni avvio di app?Realm Pulizia di vecchi oggetti
5
A
risposta
10
Non esiste alcun meccanismo di scadenza cache predefinito in Realm stesso, ma come hai detto, è una questione relativamente banale di aggiungere una proprietà NSDate
a ciascun oggetto e semplicemente eseguire una query per verificare gli oggetti la cui proprietà data è precedente a 24 ore periodicamente all'interno della tua app.
La logica potrebbe potenzialmente simile a questa in entrambe le lingue:
Objective-C
NSDate *yesterday = [[NSDate alloc] initWithTimeIntervalSinceNow:-(24 * 60 *60)];
RLMResults *itemsToDelete = [ItemObject objectsWhere:"addedDate < %@", yesterday];
[[RLMRealm defaultRealm] deleteObjects:itemsToDelete];
Swift
let yesterday = NSDate(timeIntervalSinceNow:-(24*60*60))
let itemsToDelete = Realm().objects(ItemObject).filter("addedDate < \(yesterday)")
Realm().delete(itemsToDelete)
spero che ha aiutato!
Problemi correlati
- 1. Realm lento all'aggiornamento di più oggetti
- 2. Come associare le modifiche agli oggetti Realm?
- 3. JQuery pulizia di eventhandlers
- 4. Realm data-query
- 5. Android Realm copyToRealmOrUpdate crea duplicati degli oggetti nidificati
- 6. Realm Android - Passaggio dell'oggetto Realm tramite Intent
- 7. Come ottenere vecchi oggetti rss come google reader
- 8. Android Listview conserva i vecchi oggetti dopo le modifiche dell'adattatore
- 9. RSpec + pulizia del database, pulizia non corretta
- 10. Pulizia di file CSS
- 11. Realm: crea relazioni con identificativi
- 12. Come utilizzare correttamente Realm
- 13. Aggiornamento di un oggetto in Realm
- 14. I campi di lettura di un oggetto Realm sono più lenti di oggetti java?
- 15. Realm java condizioni di query
- 16. Installazione di Realm tramite CocoaPods
- 17. Pulizia di una connessione interna di pysqlite sulla distruzione di oggetti
- 18. Pulizia del popen di Python
- 19. Pulizia di un oggetto @RequestScoped?
- 20. pulizia di un Mercurial Repository
- 21. Comandi di pulizia personalizzata CMake
- 22. Realm - come chiudere l'istanza del realm con una transazione asincrona
- 23. Realm: non può invocare 'oggetti' con una lista di argomenti di tipo '(Object.Type)'
- 24. Git: risparmio di vecchi rami
- 25. Vecchi problemi di "rapporto C++"?
- 26. Realm: utilizza uno o più realm in un'app (e uno o più schemi)
- 27. Testing Realm su Android
- 28. realm/swift primario composito
- 29. Rename Realm table
- 30. Posso utilizzare le funzioni di evento di jQuery con semplici oggetti vecchi?
Esiste un metodo simile per ottenere questo risultato per Android? –