【发布时间】:2018-10-04 21:13:48
【问题描述】:
我正在尝试为我的 iOS 应用程序的子目录中的所有资源创建一个 URL 数组。我似乎无法找到正确的路径,即使我不知道名称,我也希望能够检索 URL(即我不想将文件名硬编码到代码中)。
下面是层次结构的屏幕截图,我正在尝试获取“test”文件夹中的所有文件:
非常感谢任何帮助,我尝试使用文件管理器和捆绑主路径,但到目前为止没有任何乐趣。
这是我目前唯一的代码:
let fileManager = FileManager.default
let path = Bundle.main.urls(forResourcesWithExtension: "pdf", subdirectory: "Files/test")
print(path)
我也试过这段代码,但这会打印所有资源,我似乎无法指定子目录:
let fm = FileManager.default
let path = Bundle.main.resourcePath!
do {
let items = try fm.contentsOfDirectory(atPath: path)
for item in items {
print("Found \(item)")
}
} catch {
// failed to read directory – bad permissions, perhaps?
}
根据@vadian 的回答,文件夹已从虚拟组更改为真实文件夹。使用以下代码,我可以获得资源列表:
let fileManager = FileManager.default
let path = Bundle.main.resourcePath
let enumerator:FileManager.DirectoryEnumerator = fileManager.enumerator(atPath: "\(path!)/Files/test")!
while let element = enumerator.nextObject() as? String {
if element.hasSuffix("pdf") || element.hasSuffix("jpg") { // checks the extension
print(element)
}
}
【问题讨论】:
-
请出示你目前写的代码
-
@AshleyMills 更新了问题,没有任何代码,因为我已经尝试过,如果运气不好就删除了
标签: ios swift xcode nsfilemanager subdirectory