【问题标题】:(iphone) How to store images in directory structure (vs flat documents directory) and related questions(iphone) 如何将图像存储在目录结构中(vs flat 文档目录)及相关问题
【发布时间】:2011-08-06 02:44:52
【问题描述】:

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

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

这里有问题。

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

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

  3. 如何将文件添加到创建的目录中?
  4. 将新文件添加到 目录随着项目的增长?笔记: 问题 3 涉及初始设置, 4 处理更新。

  5. documents 目录和 bundle 下的文件在以下情况下会发生什么情况 用户更新应用程序?由于许多 应用程序存储用户数据 某处,一定有办法 更新应用程序而不清除 保存的用户数据。 IE。如何 “文档目录”和“捆绑包” 在更新情况下表现如何?

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

谢谢。

【问题讨论】:

    标签: iphone resources directory bundle


    【解决方案1】:

    您的应用是一个“捆绑包”。它由一个 NSBundle 对象表示。在 iOS 上,这是您唯一可以使用的捆绑包;您无法创建另一个捆绑包并将其导入您的应用。

    但是,您可以将子目录添加到您的应用程序包中。在 Xcode 4 中,在导航器中选择您的项目,然后单击 Build Phases 选项卡。添加一个新的构建阶段(右下),复制文件。将其移至 Copy Bundle Resources 下方,并将其重命名为有意义的名称(“复制界面图像”或其他名称)。您会注意到那里有一个 Subpath 字段 - 这是您捆绑包中的目录。将那个子目录下你想要的文件拖到这个构建阶段,然后你就可以通过NSBundle、UIImage、NSData等中的普通方法访问它们了。

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

    【讨论】:

    • 您好,谢谢您的回答,如何将文件夹添加到“复制界面图像”构建阶段?只需从查找器中拖放一个文件夹并选择“为任何添加的文件夹创建文件夹引用”?它会检测到我添加到文件夹(在机器中)的任何新文件吗?即,一旦我将文件夹注册到复制构建阶段,如何将文件添加到文件夹中?
    猜你喜欢
    • 1970-01-01
    • 2014-09-14
    • 2013-12-02
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    相关资源
    最近更新 更多