我已经看到了几个类似的问题,但是没有一个能正常工作。 (我猜Google从那些问题开始更新了GData Objective-C库)
两个类似的问题是:
Load YouTube GData feed for a single video by id
@grobbins在第一个链接中解释的方式如下:
for (GDataEntryYouTubeVideo *videoEntry in [feed entries]) {
GDataYouTubeMediaGroup *mediaGroup = [videoEntry mediaGroup];
NSString *videoID = [mediaGroup videoID];
NSArray *mediaContents = [mediaGroup mediaContents];
GDataMediaContent *flashContent =
[GDataUtilities firstObjectFromArray:mediaContents
withValue:@"application/x-shockwave-flash"
forKeyPath:@"type"];
NSLog(@"video ID = %@, flash content URL = %@",
videoID, [flashContent URLString]);
}
问题是调用'mediaGroup'会将'无法识别的选择器发送到实例...'
我试过将videoEntry设置为GDataEntryBase和GDataEntryYouTubeVideo(它是GDataEntryBase的子类),无论调试器显示变量videoEntry总是GDataEntryBase类型(即使指定GDataEntryYouTubeVideo,如上所述)
我可以抓住XML并自己解析,但那么使用库的意义何在? (另外在Googles网站上,它表示你永远不需要直接解析XML)
我做错了什么?
如何获取返回的播放列表的mediaGroup部分?
FetchFeedWithURL:完成后加载我的方法,我的方法有一个标题:
- (void)loadedPlaylist:(GDataServiceTicket*)ticket finishedWithFeed:(GDataFeedBase*)feed error:(NSError*)error;
答案 0 :(得分:0)
发现了问题!
问题是我忘了将-ObjC -all_load添加到我的其他链接器标志中。 添加完成后,Feed条目将以GDataEntryYouTubePlaylist类型返回。
希望这有助于其他人。