2009-08-23 5 views

Répondre

3

Il y a quelques étapes à suivre.

  1. Vous avez besoin d'une source de données, bien sûr.
  2. Cette source de données doit être capable de se lier elle-même à un flux RSS, de le lire, de l'analyser et de le transformer en quelque chose de sensé à afficher; ou:
  3. Vous devez disposer d'une source de données datasource qui encapsule les bits d'analyse syntaxique/d'analyse XML/réseau.

Très probablement, vous aurez envie quelque chose comme:

NSTableView <-> MyDatasource <-> MyDownloadHandler 

MyDownloadHandler prend soin de tout le téléchargement et l'analyse syntaxique, et en informe MyDatasource qu'il reçoit des données, qui notifie alors la vue de la table pour se redessiner (ou attend patiemment que la vue de la table se redessine au cours de ses opérations normales ou à la suite d'un déclenchement de minuterie, ou en émettant des notifications capturées par un contrôleur qui demande à la vue de se redessiner).

EDIT: Ceci, bien sûr, ne répond pas vraiment à votre question ...

Plus précisément, vous aurez besoin d'un objet NSURLConnection pour obtenir le flux RSS (de manière synchrone ou asynchrone, il peut faire les deux si ma mémoire est bonne sinon, il y a une autre classe qui fonctionne.)

Vous devrez également implémenter la catégorie NSXMLParserDelegate sur un objet gestionnaire et exécuter un NSXMLParser sur votre flux RSS. (NSXMLParser peut en effet être initialisés directement avec initWithContentsOfURL:, potentiellement vous permet d'économiser un certain temps.)

+0

Ne serait-il travailler un peu comme l'exemple d'application trouvé ici http://hotcocoa.lastedit.com/www/2009/01/hot-cocoa-11-twitter-app-iv- nettoyage-maison /? – Joshua

+0

En effet; sauf que vous voudrez probablement utiliser 'NSXMLParser' plutôt que' NSXMLDocument'. –

+0

Je vois. Alors, quelles parties de ce que je devrais changer (sauf pour se débarrasser du code dont il n'est plus nécessaire) pour le faire fonctionner avec mon flux? – Joshua

2

Vous devriez jeter un oeil à la PubSub.framework:
Apple Developer Connection PubSub Programming Guide
Quelques caractéristiques:

  • récupérer le contenu d'alimentation
  • abonner à des flux
  • Atom/RSS agnostique
  • ...

10.5+ ne

+0

Hmmm. Pourriez-vous partager un exemple de code que je pourrais modifier? – Joshua

+0

J'ai jeté un coup d'oeil aux exemples d'applications pour PubSub dans le dossier Developer/Examples, mais l'application il y a une application RSS complète, quand je veux seulement afficher un flux dans une vue Table. – Joshua

+2

Joshua: Cela ne veut pas dire que PubSub ne peut pas le faire. Vous devrez juste écrire votre propre code original. –