gpt4 book ai didi

objective-c - 在 iOS 上使用 Dropbox API 中的 Delta

转载 作者:行者123 更新时间:2023-11-29 11:12:58 25 4
gpt4 key购买 nike

我正在使用适用于 iOS 的 dropbox api,并且一直在处理 loadDelta 函数。我得到了发送的整个“ key ”,我得到了结构是如何设置的(见下面这段代码),但我不明白的是如何下载发送的文件以及如何将它保存到iOS 设备。有没有人知道如何做到这一点?

-(void)restClient:(DBRestClient *)client loadedDeltaEntries:(NSArray *)entries reset:(BOOL)shouldReset cursor:(NSString *)cursor hasMore:(BOOL)hasMore{
for (DBDeltaEntry *file in entries) {
if(!file.metadata.isDirectory){
NSLog(@"File: %@ ", file.metadata.filename );
}else {
NSLog(@"Directory: %@ ", file.metadata.filename );
}
}
}

调用发回一个名为条目的数组。条目中的每个条目是这样的:

    @interface DBDeltaEntry : NSObject {
NSString *lowercasePath;
DBMetadata *metadata;
}

DBMetadata 对象是:

@interface DBMetadata : NSObject <NSCoding> {
BOOL thumbnailExists;
long long totalBytes;
NSDate* lastModifiedDate;
NSDate *clientMtime; // file's mtime for display purposes only
NSString* path;
BOOL isDirectory;
NSArray* contents;
NSString* hash;
NSString* humanReadableSize;
NSString* root;
NSString* icon;
NSString* rev;
long long revision; // Deprecated; will be removed in version 2. Use rev whenever possible
BOOL isDeleted;

NSString *filename;
}

我想不通的是如何递归设置我的离线结构或这样做的最佳实践。不过,我的假设是,使用 delta,我不需要保留为更新目的而保存的文件的数据库,对吧?

最佳答案

/delta 调用只会告诉您发生了什么变化。它本身并不授予您对文件内容的任何访问权限。如果您想从/delta 下载您听说过的任何特定文件,您应该使用它通过/files (GET) 调用为您提供的路径来下载该文件: https://www.dropbox.com/developers/reference/api#files-GET(iOS SDK 将其作为 loadFile 函数提供。)

/delta 调用确实为您省去了必须调用/metadata 以手动找出更改内容并跟踪当前状态的麻烦,但请注意 Dropbox API 最佳实践 (https://www.dropbox.com/developers/reference/bestpractice) 确实说明了您在用户要求之前不应下载任何内容。

关于objective-c - 在 iOS 上使用 Dropbox API 中的 Delta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com