2011-01-08 4 views
0

YouTubeのXML APIに接続されたアプリを作成するにはどうすればよいでしょうか。 現在私の設定はありますが、動作していません。iPhone YouTubeチャンネルアプリ

  1. アプリデリゲートはオブジェクトを作成し、 "YTXMLParser"
  2. アプリデリゲート[prepAndPraseパーサー]を呼び出します。
  3. 準備において
  4. アプリアプリがよくアプリはそれぞれ「エントリ」の終わりにNSXMLParser
  5. でデータを解析NSMutableData
  6. にappeneding NSURLConnectionを使用してXMLデータをダウンロードNSURLConnection
  7. を開始解析appは現在の辞書を配列に追加します。
  8. 各「エントリ」の冒頭で、アプリケーションは辞書のインスタンスを作成します。 ここで私は立ち往生しています。このデータをアプリケーションデリゲートに戻すにはどうすればよいですか?

答えて

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 
} 
1

あなたは方法- (void)doneParsingYoutubeData:(NSDictionary *)dataを持っているデリゲート(たとえば、YTXMLParserDelegate)を作成する必要があります。 YTXMLParserにインスタンス変数id<YTXMLParserDelegate> delegateがあり、@propertyになります。アプリのデリゲートで

、あなたはそれが角括弧でYTXMLParserDelegateを置くことによってYTXMLParserDelegateに準拠していることを宣言した後、あなたはdelegateプロパティ(parser.delegate = self)に割り当てます。また、あなたのアプリケーションデリゲートのデータで何かをするメソッドを実装するでしょう。

最後に、YTXMLParserクラスでは、データを受信した後に、delegate変数にメソッドが実装されていることを確認し、それを呼び出します。

希望すると便利です。

+0

これは多くの助けになりますが、アレイ全体または1つの辞書だけを送信する必要があるかどうかは疑問です。 – Chris

+0

おっと、はい、配列を渡す必要があります。あなたが行うことができるもう一つのことは、 'UIAlertViewDelegate'の後にあなたの代理人をモデル化することです。' UIAlertViewDelegate'では、 'YTXMLParser'オブジェクト全体を返すでしょう。 – donkim

関連する問題