批量获取领域

艾尔

我正在使用领域,我想知道是否有一种批量获取对象的方法。

例如可以说我有一个领域对象AuthorBookAuthor有一个名为性质books是一对多的关系(类型List<Book>

现在我有一个视图控制器,可以获取一个Author对象并展示他的所有书籍。目前,我只是author.books用作数据,但我想分批获取这些书,并让用户滚动查看下一批书。

我认为调用author.books作为数据库查询并不太昂贵,因为领域会延迟加载那些对象,但是我仍然更喜欢小批量加载,因为它会产生其他性能影响,例如,如果我将整个数据库author.books用作数据源,则使用某些表视图heightForRow将为每个元素调用诸如此类的委托方法,这可能会影响性能。

岸川胜美

Realm不具有limitSQL中的功能。但是您可以控制自己显示的数字。

如果要限制显示的数量,可以tableView(_:, numberOfRowsInSection:)方法中返回小计数

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return batchSize * batchCount // e.g. batchSize == 20
}

并根据需要增加显示数量。例如,它使批处理大小增加了一倍,并按下了“加载更多”按钮。

如您所知,Realm延迟加载所有对象,而加载所有对象没有性能损失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章