1

J'ai un serveur web qui contient une liste de "lieux intéressants". Ceux-ci sont «codés en dur» sur le serveur Web et gérés par un administrateur côté serveur. Les utilisateurs ne peuvent pas ajouter ou supprimer quoi que ce soit. À partir de mon application, je souhaite créer un bouton «Rechercher des emplacements». L'application doit alors contacter le serveur Web et demander la liste des «emplacements intéressants». J'utilise Core Data et j'ai une entité InterestingLocation dans mon modèle. L'objectif est d'obtenir les données du serveur Web et de les conserver sur l'appareil avec les données de base, afin qu'elles soient accessibles même sans connexion Internet.Suggestion pour obtenir des données d'un serveur Web?

Mon idée était d'utiliser XML côté serveur et de sortir les "objets" InterestingLocation dans un fichier XML. Il y en a une centaine seulement, donc pas vraiment énorme.

Côté client (périphérique), peut-être XML-RPC?

Serait heureux quelques suggestions et d'autres informations où/comment démarrer :)

+4

Il ya une tonne de réponses à votre question http://stackoverflow.com/search?q=data+web+service+iphone fondamentalement il s'agit de xml ou json. –

Répondre

4

Mon conseil est de rester simple. Côté serveur, utilisez RESTful principles pour rendre l'interface aussi simple que possible. Ensuite, tout ce que vous devez faire dans votre application iPhone est d'utiliser un NSURLConnection pour récupérer l'URL. NSURLConnection est un moyen très agréable, asynchrone de télécharger des fichiers à partir d'emplacements distants. Ensuite, il suffit d'analyser XML ou JSON et de créer les objets de données de base appropriés. J'aime généralement faire des opérations d'importation comme celle-ci sur un contexte d'objet géré séparé dans un thread séparé. Lorsque vous enregistrez le contexte d'objet géré, utilisez le NSManagedObjectContextDidSaveNotification pour fusionner les modifications avec votre contexte d'objet géré principal.

+0

merci. Du côté serveur, je produirais simplement un fichier XML ancien avec tous les éléments "emplacement intéressant". choses simples jusqu'à présent. – openfrog

1

De quel type de serveur disposez-vous? Si le serveur est basé sur Java, je vous recommande de regarder HessianKit par Fredrik Olsson. Encoder/Décoder les types Objective-C ordinaires et les placer dans NSArrays et NSDictionaries rendra l'expérience plus fluide.

+0

PHP. Mais je vois que Hessian peut aussi travailler avec PHP, n'est-ce pas? Donc vous suggérez que Hessian serait plus rapide ou plus facile à utiliser? – openfrog

+0

Je l'ai seulement testé avec PHP, j'ai utilisé cette version http://sourceforge.net/projects/hessianphp/ Mon test a été posté le 9 septembre 2009 ici http://groups.google.com/group/cocoaheads-oresund La meilleure chose avec Hessian est qu'il traduit automatiquement les types ObjC de et vers PHP (ou Java) ... – epatel

+0

J'ai aussi fait un simple analyseur XML qui fonctionne aussi bien sur l'iPhone, regardez ici http: //www.memention. com/blog/2009/10/31/The-XML-Runner.html – epatel