【发布时间】:2013-01-10 14:18:58
【问题描述】:
使用 iPhone 应用程序从网络上获取报纸文章。
出于性能目的,每个request 将仅发送最后 10 篇文章。
一切正常,但是当用户向下滚动并想要阅读更多内容时,我如何获得接下来的 10 篇文章?
-
工作:首先
request给我文章:1 - 10 -
不工作:
Request再次发送应该给我文章:11 - 20(通过设置offset)
(当我阅读 API 文档时,我应该设置一个 offset 来获取下一篇文章,但它不起作用,我总是根据我的搜索查询得到相同的前 10 篇文章。)
在request 之后搜索包含keyword frankfurt 的最后10 篇文章
并将offset 设置为 10,当我再次发送 request 时,它应该会向我发送接下来的 10 篇文章。
http://api.zeit.de/content?q=frankfurt&limit=10&offset=10&api_key=MY_API_KEY
来自 API 文档: 默认情况下,搜索结果限制为 10 个匹配项。您可以使用 limit 参数增加此值。要迭代结果集,请重复您的请求,并将 offset 参数设置为限制的倍数。
更新:
- (IBAction)runBtnTapped:(id)sender
{
NSError *error;
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://api.zeit.de/content?q=frankfurt&fields=teaser_title%20AND%20release_date&limit=5&offset=5&sort=release_date%20desc&api_key=123456789"]];
NSDictionary *dictFromData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSArray *array = dictFromData[@"matches"];
NSLog(@"%@", array);
}
控制台输出:
2013-01-10 17:21:39.261 ZEITreisen[94644:c07] (
{
"release_date" = "2013-01-03T06:00:00Z";
"teaser_title" = "Im Stich gelassen";
},
{
"release_date" = "2012-12-28T13:18:58Z";
"teaser_title" = "Serbiens Nachwuchs baut den Weg nach Europa";
},
{
"release_date" = "2012-12-27T10:18:07Z";
"teaser_title" = "Das Fu\U00dfballgott bestrafte Hoffenheim";
},
{
"release_date" = "2012-12-27T06:00:00Z";
"teaser_title" = "Sind Fitschen und Jain die Richtigen f\U00fcr 2013?";
},
{
"release_date" = "2012-12-27T06:00:00Z";
"teaser_title" = Sparen;
}
)
2013-01-10 17:21:43.447 ZEITreisen[94644:c07] (
{
"release_date" = "2013-01-03T06:00:00Z";
"teaser_title" = "Im Stich gelassen";
},
{
"release_date" = "2012-12-28T13:18:58Z";
"teaser_title" = "Serbiens Nachwuchs baut den Weg nach Europa";
},
{
"release_date" = "2012-12-27T10:18:07Z";
"teaser_title" = "Das Fu\U00dfballgott bestrafte Hoffenheim";
},
{
"release_date" = "2012-12-27T06:00:00Z";
"teaser_title" = "Sind Fitschen und Jain die Richtigen f\U00fcr 2013?";
},
{
"release_date" = "2012-12-27T06:00:00Z";
"teaser_title" = Sparen;
}
)
【问题讨论】: