我是Swift的新手。
在我创建的应用程序中,我具有一组具有特定层次结构的文件和文件夹,一些较旧的C代码使用这些文件和文件夹并且无法更改它们。我想访问主要的最高级别目录以发送到C,然后它可以从该目录执行普通的C工作。要访问常规文件,我一直在使用Bundle.main.urls(forResourcesWithExtension:,subdirectory:)
方法。我一直在将return数组打印到控制台以查看其内容,它显示了单个myProject.app/
目录下的所有文件,而不是我为项目指定的目录结构(即,它被展平并且所有结构都是删除)。
问题是这样的:是否可以在Swift项目中维护目录结构,如果可以,是否存在返回最高目录URL的方法?
项目结构如下:
myProject/
myProject/
mainGroupDir/
sampleFile.txt
subGroupDir/
sampleFile2.txt
AppDelegate.swift
ViewController.swift
Main.storyboar
Assets.xcassets
LaunchScreen.storyboard
Info.plist
Products/
myProject.app
该应用程序在Xcode中是完全通用的,除了ViewController
表示
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let test = Bundle.main.urls(forResourcesWithExtension: ".txt", subdirectory: "")!
print(test)
}
}
因此,我想要的是mainGroupDir/
的路径或URL,该路径或URL维护了其下的所有文件。在此测试中,只有两个目录和两个文件,但是实际的应用程序将具有更复杂的结构,可以设置较早的C代码来处理。