(iphone)如何在目录结构(vs平面文档目录)和相关问题中存储图像

时间:2011-04-15 07:03:36

标签: iphone resources directory bundle

我正在寻找一种在我的应用中管理许多图像文件的好方法 当要维护的图像数量变大时,拥有一个目录结构来保存它们似乎是至关重要的。(组织图像并支持重复的图像名称)

由于在图像目录中存储图像的正常方式(通过将图像添加到xcode的资源文件夹)似乎不支持目录结构,
我可能需要使用一个名为bundle的东西。

以下是问题。

  
      
  1. 我不清楚“文件”之间有什么区别   目录“和”捆绑“。是吗?   只是指定目录路径的名称   在iPhone应用程序内?以来   文件目录不支持   目录结构,我想不是   iOS中的常规文件路径? (我   寻找定义或概述   对这两个术语的描述就足够了   帮助回答以下问题   题)

  2.   
  3. 如何创建树结构目录来存储资源?

  4.   
  5. 如何将文件添加到创建的目录中?
  6.   
  7. 将新文件添加到的步骤(可能在xcode中)是什么   项目增长的目录?注意:   问题3涉及初始设置,   4处理更新。

  8.   
  9. 文件目录和捆绑下的文件会发生什么情况   用户更新应用程序?很多   应用程序存储用户数据   在某个地方,一定有办法   更新应用程序而不消灭   保存的用户数据。即。如何   “文件目录”和“捆绑”   表现在更新情况?

  10.   
  11. 所谓的“资源包”是指上面使用的“包”   问题?
  12.   

谢谢。

1 个答案:

答案 0 :(得分:0)

您的应用是“捆绑”。它由NSBundle对象表示。在iOS上,这是您唯一允许使用的捆绑包;你不能创建另一个包并将其导入你的应用程序。

但是,您可以将一个子目录添加到您应用的捆绑包中。在Xcode 4中,在导航器中选择您的项目,然后单击Build Phases选项卡。添加新的构建阶段(右下角),复制文件。将其向上移动到Copy Bundle Resources下方,并将其重命名为有意义的内容(“copy interface images”或其他内容)。您会注意到那里有一个Subpath字段 - 这是您的捆绑包中的目录。将您想要在该子目录中的文件拖到此构建阶段,然后您可以通过NSBundle,UIImage,NSData等常规方法访问它们。

希望它更容易吗?我也是。