2011-04-15 5 views
1

Je suis à la recherche d'un bon moyen de gérer de nombreux fichiers image dans mon application.
Lorsque le nombre d'images à maintenir devient grand, il semble essentiel d'avoir une structure de répertoire pour les tenir. (Pour organiser des images et de soutenir les noms d'image en double)(iphone) Comment stocker des images dans la structure du répertoire (vs répertoire de documents plats) et des questions connexes

Depuis façon normale de stocker des images dans le répertoire des documents (par ajouter des images au dossier de ressource de xcode) ne semble pas soutenir la structure de répertoire,
J'ai probablement besoin d'utiliser quelque chose appelé bundle.

Voici des questions.

  1. Il est pas clair pour moi quelle est la différence entre les « documents répertoire » et « bundle ». Sont-ils juste des noms pour spécifier le chemin de répertoire dans une application iphone? Depuis répertoire des documents ne supporte pas la structure de répertoire , je suppose que ce n'est pas un chemin de fichier régulier dans iOS? (Je la recherche d'une définition ou un aperçu description sur ces deux termes assez pour aider à répondre aux questions suivantes )

  2. Comment puis-je créer un répertoire de l'arborescence pour stocker les ressources?

  3. Comment ajouter des fichiers dans le répertoire créé?
  4. Quelle est l'étape (probablement dans xcode) pour ajouter de nouveaux fichiers au répertoire au fur et à mesure que le projet grandit? note: question 3 traite avec la mise en place initiale, 4 traite avec la mise à jour. Qu'arrive-t-il aux fichiers sous le répertoire de documents et au regroupement lorsque l'utilisateur met à jour l'application? Puisque de nombreuses applications stockent les données utilisateur quelque part, il doit y avoir un moyen de mettre à jour une application sans effacer les données utilisateur enregistrées . c'est à dire. Comment "répertoire de documents" et "bundle" se comportent-ils dans une situation de mise à jour?

  5. Ce que l'on appelle le «regroupement de ressources» fait référence au «regroupement» utilisé dans les questions ci-dessus?

Merci.

Répondre

0

Votre application est un "bundle". Il est représenté par un objet NSBundle. Sur iOS, il s'agit du seul ensemble que vous êtes autorisé à utiliser. vous ne pouvez pas créer un autre ensemble et l'importer dans votre application.

Toutefois, vous pouvez ajouter un sous-répertoire à l'ensemble de votre application. Dans Xcode 4, sélectionnez votre projet dans le navigateur et cliquez sur l'onglet Build Phases. Ajouter une nouvelle phase de construction (en bas à droite), Copier des fichiers. Déplacez-le juste au-dessous de Copy Bundle Resources, et renommez-le en quelque chose de significatif ("copy interface images", ou quelque chose comme ça). Vous remarquerez que vous avez un champ Subpath - c'est votre répertoire dans votre bundle. Faites glisser les fichiers que vous souhaitez dans ce sous-répertoire sur cette phase de génération, puis vous pouvez y accéder via les méthodes normales dans NSBundle, UIImage, NSData et ainsi de suite.

Vous aimeriez que ce soit plus facile? Moi aussi.

+0

Salut merci pour la réponse, comment puis-je ajouter un dossier à la phase de construction "copier les images d'interface"? il suffit de glisser-déposer un dossier à partir de finder et choisissez "créer des références de dossier pour les dossiers ajoutés"? détecterait-il de nouveaux fichiers que j'ajouterais au dossier (dans la machine)? c'est-à-dire, une fois que j'ai enregistré un dossier dans copy-build-phases, comment ajouter un fichier dans le dossier? – eugene

Questions connexes