提问者:小点点

使用CoreData和分页的RestKit


我有简单的分页方案

http://api/users?page=1

在我可以在下一页问什么之后在第1页给用户

http://api/users?page=2

等下一页

但我有两个问题:

  1. 我不能命令用户响应显示,因为他们来自服务器

[user1, user2,user3]但是当我尝试从数据库中获取时,我可以得到[user2,user1,user3]例如。

我尝试使用RestKit元数据属性

@metadata.mapping.collectionIndex

但是每个请求都是独立工作的。接下来发生在

超文本传输协议://api/用户?page=1我有数组

[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] 

这是不正确的。

所以第一个问题:是否可以在不重置集合索引的情况下使用集合索引进行分页请求?

我问

超文本传输协议://api/用户?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] 

然后分页问什么都没变,所以用户不能理解分页是工作吗?

要修复它,我使用FetchRequest estBlock,然后page=1我删除所有用户-这是一个糟糕的解决方案。

如何纠正来自服务器的分页数据?


共1个答案

匿名用户

  1. 不,您需要将页码添加到存储中,并为页面和索引添加排序描述符。
  2. 我会说您的解决方案是可以的。我不确定我会使用fetch request块,但您需要在从头开始分页时将所有项目标记为无效或删除它们。