使用 iPhone 应用程序从网络上获取报纸文章。
出于性能目的,仅发送最后 10 篇文章request
。
一切都按预期工作,但是当用户向下滚动并想要阅读更多内容时,我如何获得接下来的 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;
}
)