【问题标题】:gData Youtube FeedgData Youtube 提要
【发布时间】:2011-02-28 15:33:09
【问题描述】:

我已经构建了一个应用程序来加载 youtube 提要并在 UITableView 中显示它。

我还添加了单击表格末尾显示的“加载更多”单元格的功能,该单元格用于使用源 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 并将它们添加到表数据源中?

干杯

【问题讨论】:

    标签: iphone objective-c gdata


    【解决方案1】:

    您可以将一个提要的条目移动到另一个提要,只要您将其父指针移至其原始提要,例如

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

    如果您通过索引从服务器检索条目,则无法保证第二个 Feed 中的条目不在第一个 Feed 中,如果两次提取之间的 Feed 顺序发生了变化。

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

    【讨论】:

      猜你喜欢
      • 2012-10-11
      • 2011-05-05
      • 1970-01-01
      • 2011-11-12
      • 2012-10-15
      • 2015-03-24
      • 2014-05-14
      • 2012-05-06
      • 1970-01-01
      相关资源
      最近更新 更多