【问题标题】:Pagination with Alamofire and realm.io使用 Alamofire 和 realm.io 进行分页
【发布时间】:2016-02-09 10:59:30
【问题描述】:

我有一个类似于 http://URL/news/:lastloaded/:size 的 api,其中 lastloadedsize 是 api 应该返回的对象范围。这个 api 返回一个不同新闻的列表,我想在 tableView 中显示。但是,为了使其有效,我不想进行某种分页,因此并非所有对象都加载到 tableView 中。这是我通过简单的变量实现的,例如

let pageSize = 20
var lastLoadedPage = 0

但是,我如何确保我的案例 realm.io 中的数据库始终与来自 api 的所有新闻保持同步。如果它更容易,我可以轻松更改 api 并添加更多参数?什么是最佳实践?我正在使用Alamofirerealm.io

【问题讨论】:

    标签: ios swift uitableview realm alamofire


    【解决方案1】:

    Realm 本身实际上并不需要分页。数据直接保存到磁盘,然后只有需要的属性在调用时才被延迟分页。因此,它非常节省内存,以至于无需管理内存中的对象块(如分页工作)。

    如果您想用 Realm 来“模拟”分页,只需将所有对象作为列表查询,然后提取您希望显示的对象的子集。

    话虽如此,对 Web API 的调用分页可能仍然是明智之举,这样您就不会不必要地下载比您需要的更多的新闻项目,但是一旦将它们下载并保存到 Realm,您就不需要担心任何类似的设备端逻辑。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2014-12-26
      • 2017-08-04
      • 2020-06-12
      • 2021-03-01
      • 2011-07-18
      相关资源
      最近更新 更多