以下は、フィードのさまざまなページを取得して解析するために使用している関数です。
- (void)getFeed:(NSInteger) pageNumber
{
collectedData = [[NSMutableData alloc] init];
NSString *urlStr =[NSString stringWithFormat:@"http://sitename.com/feed/?paged=%d", pageNumber];
NSURL *url = [NSURL URLWithString:urlStr];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
conn = [[NSURLConnection alloc] initWithRequest:req delegate:self startImmediately:YES];
}
ユーザーがテーブルビューの一番下までスクロールすると、以下の関数を使用してフィードの 2 ページ目にアクセスし、カウンターをインクリメントします。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
float endScrolling = scrollView.contentOffset.y + scrollView.frame.size.height;
if (endScrolling >= scrollView.contentSize.height)
{
counter ++;
[self getFeed:counter];
}
}
問題は、既にフェッチされたアイテムの下にロードする代わりに、テーブルビューをリロードして新しいページアイテムを表示し、古いアイテムが消える場合です。既存のページアイテムの下に新しいページアイテムをロードして、無限にスクロールしたい。どうやってやるの?