我在我的项目中本地存储了来自Phone Addressbook的联系人列表,为此,我正在使用领域db,现在遇到的问题是获取一批联系人(如分页)。因此,考虑使用限制查询来做到这一点。但是,没有关于带域的LIMIT查询的示例。是否有其他选择可以在域中进行分页?
答案 0 :(得分:1)
您不需要自己以Realm Swift Queries are lazily loaded的方式来实现批量提取。 “所有查询(包括查询和属性访问)在Realm中都是惰性的。仅在访问属性时才读取数据。”
因此您的查询速度非常快,但是访问数据本身并不像使用数组那样快。
答案 1 :(得分:0)
在Realm swift的文档站点(https://realm.io/docs/swift/latest/)中,他们说
由于Realm中的查询是惰性的,因此根本不需要执行这种分页行为,因为Realm仅在明确访问对象后才从查询结果中加载对象。
如果出于与UI相关或其他实现原因的原因,您需要查询中的特定对象子集,则就像获取Results对象并仅读取所需对象一样简单。
因此,您只需简单地掌握所有内容并处理所需的内容。来自文档站点的示例
// Loop through the first 5 Dog objects
// restricting the number of objects read from disk
let dogs = try! Realm().objects(Dog.self)
for i in 0..<5 {
let dog = dogs[i]
// ...
}