Mon application est fortement axée sur les données et doit être fréquemment mise à jour. Actuellement, la base de données MySQL est déversée dans un fichier XML via PHP, et lorsque l'application le charge télécharge ce fichier. Ensuite, il charge toutes les valeurs dans NSMutableArray à l'intérieur d'une classe de gestionnaire de données qui peut être accessible n'importe où dans l'application.Comment mettre en cache/mettre à jour correctement les applications iPhone pilotées par les données qui utilisent des bases de données distantes?
Voici le problème, le fichier XML produit est d'environ 400kb, et cela prend apparemment plusieurs minutes à télécharger sur le réseau EDGE, et même pour certaines personnes sur la 3G. Donc, fondamentalement, je cherche des options sur la façon de mettre en cache ou d'optimiser correctement le processus de téléchargement de mon application. Ma pensée actuelle est quelque chose de similaire à la mise en cache du fichier XML sur le disque dur de l'iPhone, puis à la diffusion de ces données lorsque l'utilisateur navigue dans l'application et charge le nouveau fichier XML en arrière-plan. Le problème avec ceci est que l'utilisateur va maintenant toujours voir les données de l'exécution précédente, il semble également inutile de télécharger le fichier XML entier à chaque fois si un seul champ a été changé.
TLDR: Le téléchargement des données de mon application iPhone est lent, comment pourrait-on correctement minimiser cet effet?
C'est quelque chose que j'aimerais considérer aussi. Il a l'avantage d'exploiter le framework de données de base de l'iPhone. Le seul problème est que c'est un travail rémunéré où la tolérance au risque est très faible et je n'ai jamais utilisé les données de base. Le client veut l'option qui peut être mise en place dans un court laps de temps, qui est probablement juste pour enregistrer le fichier XML sur le disque, (ne pas avoir à réécrire le code pour peupler les tableaux, et l'afficher dans les parties pertinentes du app.) – Jameson