我使用RestKit 0.10.1和我正在寻找处理那个结果进行分页Web服务的一些示例代码。 我有GET请求不带参数获取的第一页,并将它们贴到一个UITableView。 理想的情况是,当我到达一个页面的底部,将获取下一个页面,并在底部插入这些值。
我想我应该澄清,我更关注的是如何做的比取如何将它们钉到表的末尾,但如果有该建议,我很想听听他们。 此外,这些记录不被存储在管理对象,他们只是在内存中。
更新:从“寻呼”交换我的谷歌搜索后,“分页”我碰到RKObjectPaginator并意识到我处理的API是相当脑死亡和不输出任何数或数据哪些页面你,或者其尺寸。
正如你所说,你可以正常使用RKObjectPaginator。 但有时,你也说了,这不一样,如果你的API不符合工作得很好。
您可以通过执行类似下面的完全自主的分页:
1)创建RKObjectPaginator(或您自己的类的子类,如果你想要走这条路线)。
2)关键是要重写此委托方法
- (void) objectLoader:(RKObjectLoader *)loader willMapData:(inout __autoreleasing id *)mappableData;
3)在此方法中,你把mappableData对象,并找到“下一页”的参数。 但是你这样做是你的。 以下是使用秉API的示例。
- (void) objectLoader:(RKObjectLoader *)loader willMapData:(inout __autoreleasing id *)mappableData {
NSMutableDictionary* d = [[*mappableData objectForKey: @"d"] mutableCopy];
NSString* next = [d objectForKey: @"__next"];
if(!next) {
currentOffset = 0;
}
else {
NSDictionary* params = [next queryParameters];
perPage = [[params objectForKey: @"$top"] intValue];
currentOffset = [[params objectForKey: @"$skip"] intValue];
}
}
最重要的是它传递到目标对象之前,地图,数据。 这有效地让你做两张地图有一个响应(一个映射到分页程序对象,一个映射到你的数据模型)。