在iOS中存储应用程序内图像的最佳选择

时间:2014-06-05 14:44:57

标签: ios

首先,我应该承认我对iOS编程完全不熟悉,并希望得到一个我一整天都在谷歌上搜索的问题的答案。      我将有一个应用程序,其中将包含近500张png格式的图像,尺寸较小。如何按应用程序内的类别存储这些图像?据我所知,

  1. 我可以创建一个plist并使用字符串映射图像(但如果数据变得很大,则不会被许多人推荐)
  2. 创建手动文件夹并存储图像(不知道如何执行此操作..)
  3. 我见过很多关于如何从网络甚至是相机下载和保存图像的代码,但不确定在应用程序本身中存储应用程序内图像的最佳方法是什么。任何包含示例代码的建议都会非常有用。

1 个答案:

答案 0 :(得分:1)

你正在下载图片吗?这些图像会改变吗?每个图像都有很多元数据(您提到按类别存储它们)。

虽然这不是实现它的唯一方法,但我很幸运使用具有Image实体且categoryfilename的CoreData模型来实现此类内容作为属性。您可以将图像存储在NSBundle或任何您喜欢的位置,只要它们位于同一目录中即可使您更轻松。然后确保每个文件名都是唯一的,并正确映射到CoreData实体。

这使您也可以随时发送更多图像,甚至更换图像。下载新图像后,您可以向CoreData添加新实体,而无需更新任何plist或映射。您还可以使用CoreData fetchRequest访问NSPredicates,这将允许您查询CoreData以查找属于1类甚至多个类别的图像。

缺点是它需要额外的设置,即学习CoreData并将其实施到您的项目中。

编辑:

为了做一些现在并且非常基本的事情,答案很容易实现。将文件夹添加到您的目录中,并确保他们有目标/正在进入捆绑。从那里,添加一个pList,每个类别列出您感兴趣的每个图像的文件名。

然后,当他们在应用程序中单击某个类别时,您可以拉取plist并将名称列表作为字典/数组。然后加载所有图像。

这样做的缺点是你必须手动更新plist以进行任何新的更改,并将其从服务器发送到手机。