2011-02-28 120 views
1

我已经建立了一个应用程序加载一个YouTube的饲料,并显示它在UITableView。gData YouTube的饲料

我还添加了单击“加载更多”单元格的功能,该单元格出现在表格末尾,该表格旨在使用feeds nextLink并加载10个应该填充表格末尾的视频。

然而,问题是,表被完全替换为新的10个项目,而不是添加到已经显示的内容。

我使用的代码如下:

NSLog(@"%@", [[feed nextLink] href]); 
NSURL *feedURL; 
feedURL = [NSURL URLWithString: [[feed nextLink] href]]; 

GDataServiceGoogleYouTube *service = [self youTubeService]; 
ticket = [service fetchFeedWithURL:feedURL delegate:self  
didFinishSelector:@selector(request:finishedWithFeed:error:)]; 

及以下方法:

- (void)request:(GDataServiceTicket *)ticket 
finishedWithFeed:(GDataFeedBase *)aFeed 
error:(NSError *)error { 

self.feed = (GDataFeedYouTubeVideo *)aFeed; 


[superTable reloadData]; 
} 

有谁知道一个更好的方式,或者如果我可以将现有的饲料中的内容与我获取新的?即....如果当应用程序加载它获得视频1 - 10,我需要重新获取1-20或我可以简单地获得11-20,并将它们添加到表数据源?

干杯

回答

1

为您删除其父指针到原来的饲料样

NSArray *newEntries = [newFeed entries]; 

for (GDataEntryBase *entry in newEntries) { 
    [entry setParent:nil]; 
    [previousFeed addEntry:entry]; 
} 

如果从服务器通过索引检索条目您可以将一个饲料项目到另一个,只要,如果订单在提取之间发生更改,则不能保证第二个订阅源中的条目也不在第一个订阅源中。

如果Feed不是很大,您可以通过调用服务对象上的setServiceShouldFollowNextLinks:来一次获取所有页面。