我有简单的分页方案
在第 1 页给用户 在我可以问下一页之后
下一页等等
但是我有两个问题:
- 我无法命令用户响应显示,因为他们来自服务器给我
[user1, user2, user3] 但是当我尝试从数据库中获取时,我可以获得 [user2, user1, user3] 例如。
我尝试使用 RestKit 元数据属性
@metadata.mapping.collectionIndex
但是每个请求都是独立工作的。接下来发生 对于
[user1, user2, user3] collectionIndex will be [1,2,3].
然后我询问下一页并得到数组
[user4, user5, user6] collectionIndex also will be [1,2,3]
所以在数据库中
[user1, user4, user2, user5, user3, user6]
这是不正确的。
那么第一个问题:是否可以在不重置 collectionIndex 的情况下将 collectionIndex 用于分页请求?
- 新到达的数据有问题
我问
http://api/users?page=1并获得了 2 个用户
[user1, user2] in response
在我询问第二页并获得 2 个用户之后
[user3, user4] in response
所以我再次询问 page=1,现在我得到了用户 [user01, user02]
然后增加页面索引,但是,在 page=2 中我得到了 [user1, user2] 并且在 UI 的 tableview 中我看到了所有记录
[user01, user02, user1, user2, user3, user4]
然后页面询问没有任何变化,所以用户无法理解分页工作?
为了解决这个问题,我使用了 FetchRequestBlock,然后 page=1 我删除了所有用户 - 这是一个糟糕的解决方案。
如何从服务器更正分页数据?
最佳答案
- 不,您需要将页码添加到存储中并为页面和索引添加排序描述符。
- 我会说你的解决方案没问题。我不确定我是否会使用获取请求 block ,但是当您从头开始分页时,您需要将所有项目标记为无效或将其删除。
关于ios - 带有 CoreData 和分页的 RestKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32202788/