我正在使用适用于 iOS 的 Dropbox api,并且一直在搞乱 loadDelta 函数。我得到了发送的整个“密钥”,我得到了结构的设置方式(参见下面的代码),但我不明白的是如何下载发送的文件以及如何将其保存到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,我不需要保留我为更新目的而保存的文件的数据库,对吗?