2010-03-02 8 views
0

J'ai réussi à créer une application qui lit à partir d'un fichier .plist groupé et affiche le contenu dans un UITableView. Je voudrais déplacer ce plist à un site externe, car il est mis à jour fréquemment. encore mieux, j'aimerais l'avoir généré avec PHP. J'ai le travail côté serveur, mais l'objectif C me donne un mal de tête ...Récupérer le fichier plist distant, utiliser dans UITableView

Mon code utilisé pour lire comme ceci:

NSString *myfile = [[NSBundle mainBundle] pathForResource:@"notices" ofType:@"plist"]; 

selon diverses recherches google, mon code devrait maintenant quelque chose comme ceci:

NSString *myfile = [NSDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@"http://localhost/plistgen1.php"]]; 

Évidemment, cela ne va pas travailler, mélange NSString avec NSDictionary, mais je l'ai essayé (et échoué) pour le faire fonctionner correctement. est-ce que quelqu'un a une solution, ou une manière différente d'aborder le problème? Les données que j'utilise sont sur un serveur mysql, et le plistgen1.php juste "remplit les blancs" dans le dossier de plist et fait écho dehors ...

Je peux avoir tout faux, ne tirez pas moi :)

Répondre

0

Le premier cas ("Mon code utilisé pour lire comme ceci") vous donne le chemin du système de fichiers local au fichier plist groupé et l'enregistre dans la variable myfile. Dans le second cas, vous téléchargez le contenu du fichier plist du serveur et créez un dictionnaire à partir de celui-ci.

Vous avez probablement du code après l'affectation du chemin de fichier à myfile qui lit le contenu de ce fichier dans un NSDictionary. Vous devez remplacer à la fois l'affectation à myfile et cette instruction avec le deuxième exemple.

donc vous devriez remplacer quelque chose comme ceci:

// determine filesystem path to bundled plist file 
NSString *myfile = [[NSBundle mainBundle] pathForResource:@"notices" ofType:@"plist"]; 
// read contents of that plist file and parse them into a dictionary 
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:myfile]; 

Avec ceci:

// download plist file contents from URL and parse them into a dictionary 
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@"http://localhost/plistgen1.php"]]; 
+0

Merci! J'ai décidé de donner un peu de repos à ce projet pour le moment ... j'ai réalisé qu'un plist ne va pas vraiment le couper. comme je l'ai dit, merci et cela me sera utile lorsque je pense à une nouvelle approche: D – crmunro

Questions connexes