2011-11-19 6 views
1

Je crée une application dans laquelle j'établis une connexion avec la base de données pour stocker des données json dans la base de données sqlite3 en créant et en insérant les données par programmation. Tout cela fonctionne bien, mais je veux que la prochaine fois si un utilisateur utilise cette application que les données doivent être accessibles à partir de la base de données au lieu du réseau. Pouvez-vous me suggérer un moyen de le faire. J'établis une connexion asynchrone dans la méthode ViewDidLoad et en utilisant le nombre de tableaux json en nombre de lignes dans le tableau I, j'affiche les valeurs dans le tableau en sélectionnant les données requises de la base de données. Je veux que l'utilisation devrait être en mesure d'afficher les informations de la base de données même lorsque la connexion n'est pas établie lorsqu'il exécute l'application pour la deuxième fois.Application iPhone 4 utilisant la base de données sqlite

+0

Alors, quelle est votre question? –

+0

Je veux que la prochaine fois si un utilisateur utilise cette application que les données doivent être accessibles à partir de la base de données au lieu du réseau. Comment puis-je différencier si l'utilisateur tente d'accéder à l'information une seconde fois et afficher les informations en sélectionnant les valeurs de la base de données? – user1048396

+0

Eh bien, je suppose que vous avez besoin d'écrire la base de données sur le téléphone. Et puis accédez à cette base de données plutôt qu'à celle distante. –

Répondre

2

Il y a plusieurs façons de le faire.

  1. Chaque fois que votre application reçoit les données du serveur, vous pouvez stocker un drapeau dans NSUserDefaults et lorsque l'application est lancée deuxième fois, vérifiez le drapeau qui est stocké dans NSUserDefault. Si l'indicateur est faux, téléchargez les données ou bien récupérez-les dans la base de données.

  2. En cas d'absence de connexion Internet, le délégué "connection: didFailWithError" sera appelé automatiquement. Dans la méthode "connection: didFailWithError", vérifiez à nouveau le drapeau qui est stocké dans NSUserDefault s'il est vrai afficher les données de la base de données ou bien donner le message "pas de connexion internet".

Au lieu d'utiliser NSURLConnection vous pouvez également utiliser la bibliothèque ASIHttp "http://allseeing-i.com/ASIHTTPRequest/"

Questions connexes