Dropbox API 使用SwiftyDropbox库列出根文件夹,在响应中区分文件和文件夹

示例

Dropbox.authorizedClient!.files.listFolder(path: "").response { response, error in
    print("*** List folder ***")
    if let result = response {
        print("文件夹内容:")
        for entry inresult.entries{
            print(entry.name)
            if let file = entry as?Files.FileMetadata{
                print("\tThis is a file with path: \(file.pathLower) and size: \(file.size)")
            } else if let folder = entry as?Files.FolderMetadata{
                print("\tThis is a folder with path: \(folder.pathLower)")
            }
        }
    } else if let callError = error {
        switch callError {
        case .RouteError(let boxed, _):
            switchboxed.unboxed{
            case .Path(let lookupError):
                print("lookupError:")
                print(lookupError)
            case .Other:
                print("Other")
            }
        default:
            print("default")
        }
    }
}

请注意,响应中可能包含ListFolderResult.hasMore=true,在这种情况下,您的应用应使用listFolderContinue进行回叫,以继续获取更多条目。