2010-02-20 4 views
0

J'ai une application pour iPhone qui vous permet de télécharger des tuiles de carte, qui sont stockées dans une base de données sqlite core-data. J'avais précédemment configuré la migration de base de données à l'aide de momd, en suivant ce guide - http://iphonedevelopment.blogspot.com/2009/09/core-data-migration-problems.htmlLa migration de la base de données de l'iPhone expire

Tout fonctionne parfaitement lors des tests de mise à niveau, lorsque j'ai de petites quantités de données dans chaque table. Mais lorsque j'ai téléchargé une grande carte, environ 100 Mo, la migration de la base de données expire et l'application ne démarre pas dans les 10 secondes. La base de données est ensuite corrompue, et seule la suppression de l'application et sa réinstallation la réparera. Mon changement de modèle de données a affecté la table de waypoint, qui est relativement petite et a juste ajouté une colonne, ainsi elle n'aurait pas dû faire une grande opération sur toute la table de tuiles de carte.

Existe-t-il un meilleur moyen de gérer les modifications du modèle de données?

Répondre

0

Dans ce cas, vous devez stocker ces fichiers large images en tant que fichiers distincts dans le répertoire Documents. Ensuite, vous stockez le nom de fichier en tant que propriété dans votre entité Données de base.

En général, si vous avez une opération qui prend beaucoup de temps au lancement de l'application, vous devez la déplacer vers un thread d'arrière-plan.

Questions connexes