2013-03-06 47 views
1

我希望用户被建议是否有任何文件在保管箱文件夹中更改。要做到这一点我必须使用此代码:使用delta IOS的​​Dropbox检测文件更改

[self.restCLient loadDelta: nil]; 

和方法:

-(void)restClient:(DBRestClient *)client loadedDeltaEntries:(NSArray *)entries reset:(BOOL)shouldReset cursor:(NSString *)cursor hasMore:(BOOL)hasMore{ 
NSLog(@"WORKED: %@, %@, %c, %c", entries, cursor, hasMore, shouldReset); 
} 

-(void)restClient:(DBRestClient *)client loadDeltaFailedWithError:(NSError *)error{ 

NSLog(@"THE ERROR: %@", error); 
} 

这是响应我收到类型:

2013-03-06 20:46:33.373 Splash-it[1659:907] WORKED: (
"<DBDeltaEntry: 0x1e2afbf0>", 
"<DBDeltaEntry: 0x1e0e4030>", 
"<DBDeltaEntry: 0x1e013640>", 
"<DBDeltaEntry: 0x1e28e590>" 
) 

我如何能理解的形式这是否在我的保管箱中发生了变化?

+0

所有这些增量项是否与您的文件相关? – 2013-04-24 12:25:54

+0

@PratikSomaiya是的,他们是...... – Alessandro 2013-06-01 21:25:23

回答

2

这个问题有点老,但我想我会回答。 :)

您将要访问DBDeltaEntry对象的属性。

第1步:导入DBDeltaEntry.h

我不知道这是为什么不包含的Dropbox的东西,其余的(我通过电子邮件发送的Dropbox问为什么)。添加到您的类:

#import "DBDeltaEntry.h" 

第2步:遍历结果

里面的loadedDeltaEntries委托方法,可以遍历您的结果是这样的:

for(DBDeltaEntry *file in entries) { 
    NSLog(@"Entry name: %@/Metadata: %@",file.lowercasePath, file.metadata.filename); 
} 

要查看您还可以访问DBDeltaEntry对象的元数据,查看DBMetadata.h:

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; 

第3步:了解结果

条目此列表表示在最近一次到你的Dropbox文件夹的变化(哪些文件进行了修改,删除或添加)。使用cursorloadedDeltaEntries方法中很重要,因为它可以帮助您了解您知道哪些更改。您可以存储光标,然后将其传递给每个三角洲调用,以告诉Dropbox“就我所知,当涉及到更改时”,Dropbox将只会告诉您自该光标以来发生了什么变化。

我希望有帮助。