2009-02-05 6 views
4

Je suis un apprenant dans le domaine de l'objectif-C. J'essaye de construire une application iPhone avec cocos2d. Maintenant, j'aimerais utiliser UITableView pour afficher les données d'un fichier XML.UITableView avec cocos2d

Est-il possible d'utiliser UITableView avec cocos2d et est-il également possible de récupérer des données à partir d'un fichier XML?

Répondre

0

Absolument! Le fichier XML n'a même pas besoin d'être local dans votre application.

Je recommande d'analyser le XML avec quelque chose comme TouchXML. La seule bibliothèque intégrée d'analyse XML pour iPhone est une bibliothèque basée sur les événements qui est difficile à utiliser à moins que vous n'ayez le bon type de structure dans vos données. Ensuite, dans les méthodes d'affichage de tableau qui remplissent votre tableau avec des données, sélectionnez les éléments parmi les variables que vous avez analysées dans le fichier de données.

+0

En fait, libxml2 est livré avec iOS, et est très flexible ... (DOM, SAX, HTML, XHTML, vous l'appelez, libxml2 peut l'analyser). –

0

Oui, Squeegy a raison. Je veux cependant corriger un malentendu conceptuel que vous semblez avoir. Toute application iPhone que vous écrivez sera toujours basée sur les principales API iPhone. Ainsi, votre utilisation de Cocos2d n'est pas pertinente pour votre utilisation de UITableView. En ce qui concerne l'analyse XML, cela n'est bien sûr pas fait par Cocos2d. Cocos2d est une abstraction de haut niveau d'OpenGL pour un développement de jeu relativement facile; L'analyse XML n'est pas dans son champ d'application. Ainsi, encore une fois, votre utilisation de Cocos2d n'est pas pertinente pour votre utilisation d'une bibliothèque d'analyse XML.

0

Il est possible d'utiliser des objets UITableView, UINavigationViewControllers, etc. à côté de votre application Cocos2D.

Il suffit de créer un UIViewController dans applicationDidFinishLaunching et d'ajouter son affichage à la fenêtre.

Tenez-vous sur l'EAGLView * Cocos2D utilise, et basculez entre cette vue OpenGL et votre contrôleur de vue (avec ses vues de table, boutons, et ce que vous avez).

Si vous souhaitez afficher une table simultanément avec votre contenu Cocos2d, il peut être préférable d'utiliser les éléments d'interface utilisateur qu'ils fournissent.

2

Vous pouvez très facilement intégrer UIViews avec une scène cocos2d en utilisant la classe CCUIViewWrapper qui a été créée par quelqu'un et publiée sur cocos2d forum. Je l'avais utilisé et il est assez simple d'utiliser tout ce qu'il y a sur le forum. Et pour l'analyse XML, il vaut mieux utiliser l'analyseur fourni par iOS, car Jonathan dit que cocos2d est un moteur de jeu qui ne fournit aucun mécanisme pour analyser les fichiers XML.

0

Il est également possible d'utiliser les extensions cocos2d. Ce sont à peu près des classes UIKit réécrites dans cocos2d.

Voici un link que j'ai trouvé avec défilement et vues de table. Il n'y a pas beaucoup d'explications sur la façon de l'utiliser, mais il ne diffère pas trop de UIScrollView et UITableView.