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?
Réponses
Trop de publicités?Il existe deux options principales:
- Stockez le fichier sur le disque, puis stockez le chemin d'accès à l'image dans les données de base
- 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
.
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.