【发布时间】:2020-12-17 13:02:21
【问题描述】:
我正在尝试列出我添加到我的 Xcode 项目中的所有 pdf 文档。我有一个单独的函数,它获取所有扩展名为 pdf 的文档,然后在函数内附加一个 files 变量。然后我尝试使用@State 访问files,然后列出数组中的所有项目,但我不确定如何访问函数中的files 变量,然后将其添加到列表中?我哪里错了?
struct PDFList: View {
@State var files = GetFiles()
var body: some View {
VStack{
ForEach(0..<files.count, id: \.self) { item in
Text(files[item])
}
}
}
}
func GetFiles() -> Array<URL> {
var files: [String] = []
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
do {
let directoryContents = try FileManager.default.contentsOfDirectory(at: documentsUrl, includingPropertiesForKeys: nil)
let pdfFiles = directoryContents.filter{ $0.pathExtension == "pdf" }
let pdfFileNames = pdfFiles.map{ $0.deletingPathExtension().lastPathComponent }
files.append(contentsOf: pdfFileNames)
} catch {
print(error)
}
}
【问题讨论】:
-
函数名以小写开头