Realm Cleaning Up Old Objects

杀马特。学长 韩版系。学妹 提交于 2019-11-29 14:20:24

There's no default cache expiration mechanism in Realm itself, but like you said, it's a relatively trivial matter of adding an NSDate property to each object, and simply performing a query to check for objects whose date property is older than 24 hours periodically inside your app.

The logic could potentially look something like this in both languages:

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)

I hope that helped!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!