我在我的iOS应用程序中使用iOS SDK,我只想在我的应用程序中列出文件夹,这样用户就可以选择一个文件夹(而不是文件)。
在ViewController => viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
guard let dropboxClient = DropboxClientsManager.authorizedClient else{
return
}
let listFolders = dropboxClient.files.listFolder(path: "")
listFolders.response{ response, error in
guard let result = response else{
return
}
for entry in result.entries{
print(entry)
}
}
// Do any additional setup after loading the view, typically from a nib.
}条目是>
{
id = "id:0GMPvYwuVEAAAAAAAAAABw";
name = "Folder A";
"path_display" = "/Folder A";
"path_lower" = "/folder a";
}如何找到这个条目是文件夹,它是否包含子文件夹?
发布于 2017-07-26 15:48:39
您可以像这样在result.entries for循环中转换每个for
override func viewDidLoad() {
super.viewDidLoad()
guard let dropboxClient = DropboxClientsManager.authorizedClient else{
return
}
for entry in result.entries{
guard let file = entry as? Files.FolderMetadata else{
return
}
// only folders
print(entry)
// ********* or
gurad let entry is Files.FolderMetadata else{
return
}
// only folders
print(entry)
}
}发布于 2017-07-26 15:19:50
Dropbox并不提供一种只列出文件夹的方法(尽管我们会认为它是一个特性请求),所以您需要列出所有的内容并过滤掉文件。
您可以通过将FileMetadata对象上的FolderMetadata对象定义为如自述所示来区分Metadata、switch和如自述所示。
如果您也需要子文件夹,则可以在调用recursive=true时指定listFolder。
https://stackoverflow.com/questions/45321080
复制相似问题