2011-02-28 103 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:來一次獲取所有頁面。