33 votes

Stockage d'images dans Core Data ou sous forme de fichier?

J'ai un ensemble de données qui contient également des images. Je veux mettre ces données en cache. Dois-je les stocker sur le système de fichiers ou sur les données de base et pourquoi?

38voto

Dave DeLong Points 156978

Il existe deux options principales:

  1. Stockez le fichier sur le disque, puis stockez le chemin d'accès à l'image dans les données de base
  2. Stockez les données binaires de l'image dans les données de base

Personnellement, je préfère la 1ère option, car elle me permet de choisir quand je veux charger l'image réelle en mémoire. Cela signifie également que je n'ai pas à me souvenir du format des données brutes; Je peux simplement utiliser le chemin vers alloc / init un nouvel objet UIImage .

16voto

westsider Points 3593

Vous voudrez peut-être lire ceci à partir de la Base de Données Guide de Programmation sur la façon de traiter avec des objets Blob). Il y a des règles de base pour que la taille des données binaires doivent et ne doivent pas être stockés à l'intérieur de l'âme magasin de Données.

Vous pouvez également regarder les Données de Base de l'iPad/iPhone GOUTTES vs système de Fichiers pour 20k Pdf

Si vous ne placez des données binaires à l'intérieur de Base de Données de magasin, vous feriez bien d'avoir un "Données" de l'entité qui détient les données réelles et d'avoir votre "Image" entité séparée. Créer une relation entre les deux entités, de sorte que les "Données" ne doivent être chargés lorsque nécessaire. "L'Image" de l'entité peut contenir des méta-données telles que le titre, le type de données, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X