【问题标题】:SwiftyDropbox list folders onlySwiftyDropbox 仅列出文件夹
【发布时间】:2017-07-26 08:12:57
【问题描述】:

我在我的 iOS 应用程序中使用SwiftyDropbox 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";
  }

我怎样才能找到这个条目是文件夹,它是否包含子文件夹?

【问题讨论】:

    标签: swift dropbox-api swiftydropbox


    【解决方案1】:

    您可以像这样在result.entries for 循环中投射每个entry

    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)
        }
    }
    

    【讨论】:

    • 谢谢,我正在寻找这个。但应该是guard entry is Files.FolderMetadata else { return },没有let,应该是错字。
    【解决方案2】:

    Dropbox API 不提供仅列出文件夹的方法(尽管我们将其视为一项功能请求),因此您需要列出所有内容并过滤掉文件。

    您可以通过在Metadata 对象上将switch 设置为shown in the README 来区分FileMetadataFolderMetadataDeletedMetadata

    如果你也需要子文件夹,你可以在调用listFolder时指定recursive=true

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2011-09-23
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-26
      • 2013-03-22
      • 2023-04-03
      相关资源
      最近更新 更多