Question

Y at-il "les meilleures pratiques" en matière de stockage des données statiques persistantes pour les applications iPhone?

J'ai une application qui lit un dictionnaire d'environ 1000 articles dont la plupart sont des tableaux. J'ai commencé à l'aide d'un seul plist pour cela et il est devenu particulièrement difficile à manier un peu puisque la plupart des valeurs sont des chaînes HTML.

Y at-il une meilleure façon pour moi d'aborder ce sujet? Je prévois sur l'extension de cette application de manière significative et je ne veux évidemment pas changer mon approche en cours de route.

J'ai googlé pour iphone data storage et variantes, mais suis venu court pour quoi que ce soit même toucher sur une meilleure pratique.

Était-ce utile?

La solution

On dirait que vous avez l'intention de distribuer des données avec votre application. Une liste de propriété est probablement le plus facile à entretenir, mais il sera chargé dans la mémoire à la fois. Cela pourrait manger beaucoup de la mémoire de l'appareil.

Une base de données SQLite, d'autre part, se charge uniquement les données que vous demandez. Je ne sais pas comment vos données sont structurées, mais vous pouvez créer facilement des paires clé-valeur avec une table de base de données unique. (Une seule table avec une colonne de key et une colonne de value) Ensuite, si elle était moi, j'écrirait une classe Objective-C pour envelopper les requêtes de base de données afin que je puisse écrire des déclarations faciles comme:

NSString *welcomeText = [[MyData sharedData] dataWithKey:@"WelcomeText"];

Obtenir les données dans la base de données en premier lieu ne doit pas être difficile. Vous pouvez utiliser la ligne de commande sqlite3 utilitaire pour charger vos données en vrac. Il y a une commande appelée .import qui importer vos données à partir d'un fichier texte.

Espérons que cela vous permet de vous déplacer dans la bonne direction!

Autres conseils

Je vais avec une solution de SQLite. Les applications que je travaille maintenant, qui sont apps juste pour me aider à apprendre le développement iPhone, la plupart du temps tout sqlite utilisation. J'utilise le plugin pour Firefox SQLite pour aider à maintenir la base de données, qui fonctionne étonnamment bien. https://addons.mozilla.org/en-US/firefox/addon/ 5817

Comme Alex a suggéré d'utiliser une classe wrapper serait également la meilleure façon d'aller.

Ne pas oublier de 3.0, vous pouvez utiliser une couche de données de base autour SQLite qui peut le rendre plus attrayant pour vous.

Si vous n'avez pas besoin de stocker des informations sur vos données relationnelles, pourquoi ne pas simplement utiliser des fichiers? Il y aura un espace de système de fichiers perdu, mais les fichiers simples pourrait être le plus de mémoire et CPU solution efficace, en fonction de la taille et le nombre de vos articles.

Je ne l'ai jamais développé une application iPhone, mais je l'ai joué un peu dans le système de fichiers. J'ai vu des bases de données SQLite flottant autour de divers endroits du téléphone. Je suis sûr qu'il utilise une base de données SQLite pour stocker vos entrées de calendrier.

J'utiliser SQLite. Il est déjà là, facile à utiliser, et fournira le chemin le plus flexible pour l'expansion à l'avenir.

J'utilise SQLite pour les données statiques dans mes applications iPhone tout le temps.

Tout ce que je ne faisais état d'économie d'lorsque l'application est fermée. J'ai utilisé un fichier pour cela.

SQLite semble parfait pour votre application. SQLite est assez facile. Je l'ai utilisé dans les applications Adobe AIR.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top