2009-08-23 12 views
0

NSTableViewにRSSフィード(1つだけ)を表示させるにはどうすればよいですか? NSURLとテーブルビューデータソースの設定と関係があると思います。 しかし、私はこれをどのようにして正確に行いますか?RSSフィードからNSTableView表示記事を作成する

答えて

3

これにはいくつかのステップがあります。

  1. もちろん、データソースが必要です。
  2. このデータソースは、RSSフィードに添付して読み込み、解析して表示に適したものにすることができる必要があります。または:
  3. ネットワーク/ XML解析/ RSS解釈ビットをカプセル化するdatasource-datasourceが必要です。

    MyDownloadHandlerは、すべてのダウンロードと解析の世話をする、それがデータを受信するようMyDatasourceを通知し、その後、自分自身を再描画するためにテーブルビューを通知する
    NSTableView <-> MyDatasource <-> MyDownloadHandler 
    

    :ほとんどの場合、あなたのようなものをお勧めします

(または、通常の操作の過程で、またはタイマーの起動の結果としてテーブルビューが再描画されるのを待つか、またはテーブルビューに自身を再描画するように要求するコントローラによってキャプチャされた通知を放出することによって)。

EDIT:これは、もちろん、実際に

具体的にあなたが同期的または非同期(RSSフィードを取得するためにNSURLConnectionオブジェクトが必要になります...あなたの質問に答えていませんが、それは行うことができ、両方のメモリを提供する場合そうでない場合は別のクラスがあります)。

また、ハンドラオブジェクトにNSXMLParserDelegateカテゴリを実装し、RSSフィードにNSXMLParserを実行する必要があります。 (NSXMLParserは実際には潜在的にあなたにいくつかの時間を節約し、initWithContentsOfURL:と直接初期化することができます。)

+0

それはここで見つける例のアプリのようなビットを働くだろうhttp://hotcocoa.lastedit.com/www/2009/01/hot-cocoa-11-twitter-app-iv-クリーニングハウス/?確かに; – Joshua

+0

; 'NSXMLDocument'ではなく' NSXMLParser'を使いたいという点を除いては、 –

+0

私は参照してください。それで、私のフィードで動作させるには、それをどのように変更する必要がありますか(不要になったコードを取り除くことを除いて) – Joshua

2

あなたはPubSub.frameworkを見てみなければならない:
Apple Developer Connection PubSub Programming Guide
一部の機能は:

  • は、フィードの内容を取得
  • のAtom/RSSフィードを購読するにとらわれない
  • ...

X 10.5+のみ

+0

Hmmm。あなたが変更できるいくつかのサンプルコードを共有できますか? – Joshua

+0

私はDeveloper/Examplesフォルダ内のPubSubのサンプルアプリケーションを見ましたが、テーブルビューに1つのフィードしか表示したくない場合は、完全なRSSアプリケーションがあります。 – Joshua

+2

ジョシュア:それはPubSubがそれをすることができないことを意味しません。オリジナルのコードを書かなければなりません。 –

関連する問題