如何检索特定目录

时间:2018-02-13 01:58:29

标签: ios swift swift4

我在名为Sounds的XCode中的主项目文件夹下创建了一个目录。 然后我将wav类型的8个音频文件拖到Sounds文件夹中。 我确保在对话框提示时检查Copy items if needed

我目前正在尝试检索位于wav目录中的所有Sounds个文件的列表。

我尝试过多种不同的方式,但下面是最新的方式。

Bundle.main.paths(forResourcesOfType: "wav", inDirectory: "Sounds")

上面的代码,以及我的其他尝试都产生了nil或空数组。

所以我的问题是,如何从wav目录中检索Sounds类型的所有文件的列表?

此外,我对iOS目录结构有点不清楚。 例如,位于Bundle.main的目录列表与DocumentDirectory之间的差异是什么?

我编辑了我的问题,因为我错误地暗示Sounds文件夹位于根目录中。

1 个答案:

答案 0 :(得分:3)

  

我在项目的根目录中创建了一个名为Sounds

的目录

那听起来像问题就在那里。您需要一个文件夹引用 - 而是创建了一个组。

这是正确的程序:

在其他地方创建一个文件夹 - 例如,在桌面上 - 名称Sounds。将该文件夹拖到项目窗口的项目导航器中,当您这样做时,请仔细查看出现的对话框。你需要它看起来像这样(注意关键的指定为文件夹引用):

enter image description here

你会知道你做得对,因为项目导航器中的文件夹图标将是蓝色

enter image description here

通过检查Sounds文件夹出现在Copy Bundle Resource构建阶段,确认您已经完成了这项工作:

enter image description here

现在您的策略将起作用:将文件从Finder拖到项目导航器中的蓝色文件夹中,它们将被复制到真正的“Sounds”文件夹中。 “Sounds”文件夹本身将在构建时复制到您的应用程序包中,您可以使用普通的FileManager方法在代码中引用其内容。