2013-03-06 51 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將只會告訴您自該光標以來發生了什麼變化。

我希望有幫助。