Je souhaite envoyer des données par défaut avec mon application. Ces données peuvent être stockées parfaitement dans une liste de propriétés. La strucure est simple:Listes de propriétés: comment l'utiliser pour fournir des données par défaut facilement échangeables à l'utilisateur?
Root
0
animalType = cat
animalName = Tom
1
animalType = dog
animalName = Rambo
Je pensais: Lorsque j'utilise une liste de propriétés plutôt que de coder en dur quelque part, alors je pourrais facilement fournir plus par défaut à choisir après l'application est distribuée déjà. Si je devais le coder en dur, je devrais fournir de lourdes mises à niveau à chaque fois, et Apple prendrait des semaines pour les laisser passer.
Mais il y a une chose que je ne comprends pas. Je fais cette liste de propriétés manuellement dans Xcode et la place dans mon groupe de ressources. Autant que je sache, Xcode le compilerait dans un format binaire. Dans mon application, j'utiliserais NSPropertyListSerialization pour en créer un NSDictionary. Mais cette liste de propriétés ne serait pas placée dans le répertoire de documents du bac à sable, n'est-ce pas? Donc, si l'application télécharge une mise à jour de cette liste de propriétés quelque temps dans le futur, la mise à jour devrait aller dans les documents dir, mais l'application regarderait toujours l'ancienne plist dans la racine, non? Où le mettre? Dois-je le copier dans des documents, tout comme une base de données sqlite?
Et l'autre chose: lorsque je modifie le plist et fournissez le tout comme XML pour le téléchargement/mise à jour d'un serveur, alors bien sûr cette chose ne serait pas "compilée" dans un format binaire. Comment cela fonctionnerait-il? Est-ce que NSPropertyListSerialization aurait du mal à le lire? Dois-je compiler cette chose à chaque fois avec XCode et laisser l'application télécharger des trucs binaires?