iPhone YouTube频道应用

时间:2011-01-08 03:49:07

标签: iphone objective-c youtube

创建连接到YouTube的XML API的应用程序的步骤是什么? 这是我目前的设置,但它不起作用。

  1. App Delegate创建对象“YTXMLParser”
  2. App Delegate调用[parser prepAndPrase];
  3. 在准备和解析应用程序时启动NSURLConnection
  4. 应用程序使用NSURLConnection以及NSMutableData
  5. 下载XML数据
  6. 该应用使用NSXMLParser
  7. 解析数据
  8. 在每个“条目”结束时,应用程序会将当前字典添加到数组中。
  9. 在每个“条目”的开头,应用程序创建一个字典的实例。 这是我被困的地方。如何将此数据反馈给我的应用代表?

2 个答案:

答案 0 :(得分:1)

您应该创建一个具有方法YTXMLParserDelegate的委托(例如,- (void)doneParsingYoutubeData:(NSDictionary *)data)。您的id<YTXMLParserDelegate> delegate中会有一个实例变量YTXMLParser,并将其设为@property

在您的应用委托中,您可以通过将YTXMLParserDelegate放入有角度的括号中来声明它符合YTXMLParserDelegate,然后将其分配给delegate属性({{1} })。您还可以实现一种方法来对应用程序委托中的数据执行某些操作。

最后,在您的parser.delegate = self课程中,收到数据后,您会检查YTXMLParser变量是否已实施该方法,然后调用它。

希望这有帮助!

答案 1 :(得分:0)

您可以将AppDelegate的ID提供给YTXMLParser,然后调用以下内容将结果发回。

//In your YTXMLParser class .h file
#import "AppDelegate.h"
@property (nonatomic, assign) id delegate;

//In the .m file
- (void)sendMethodToAppDelegate {//Call this after creating the dictionary
    [self.delegate sendToAppDelegate:MyDictionary];//or whatever the name is
}

//In your app delegate .h file
- (void)sendToAppDelegate:(NSDictionary *)dictionary;

//In the .m file
- (void)sendToAppDelegate:(NSDictionary *)dictionary {
    //Do something
}